Payments tests: fix test-drift in wallet, renewal, integration, topup
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:
Claude Opus 4.8 <noreply@anthropic.com>
Showing
Please
register
or
sign in
to comment