• Stefy Lanza (nextime / spora )'s avatar
    Payments tests: fix test-drift in wallet, renewal, integration, topup · 794dbe03
    Stefy Lanza (nextime / spora ) authored
    Bring several payments tests back in line with the current implementation:
    
    - test_wallet.py: mock self.db.begin() as an async context manager (was an
      AsyncMock coroutine) for credit/debit; update get_or_create_user_address to
      the new contract (legacy helper now allocates a fresh address per call).
    - test_wallet_renewal.py: SubscriptionRenewalProcessor now takes its gateway/
      price collaborators explicitly (pass mocks); patch trigger_auto_topup at its
      real source aisbf.payments.scheduler; renewal DB cursor access is synchronous
      (MagicMock, not AsyncMock).
    - test_integration.py: use a valid Fernet encryption key; DatabaseManager takes
      a config dict (not db_type/db_path kwargs); decorate the async payment_service
      fixture with @pytest_asyncio.fixture (strict asyncio mode).
    - test_topup.py: use a valid Fernet encryption key.
    
    Payments suite: 31 not-passing (17 failed + 14 errors) -> 22 failed, 52 passed;
    remaining failures now surface real causes instead of setup errors.
    Co-Authored-By: 's avatarClaude Opus 4.8 <noreply@anthropic.com>
    794dbe03
test_integration.py 22.3 KB