whisper-money/tests/Feature/OpenBanking
Víctor Falcón a7523bfc4f fix(wise): send the pagination cursor under the name Wise reads
Wise's activity endpoint returns the cursor as `cursor` but only reads it back
as `nextCursor`. We sent `cursor`, which it silently ignores — so every request
returned the first page again and the walk could never terminate. Not "a year of
history is too much to paginate": it was an infinite loop over page one.

The production data says the same thing without the docs. The one live Wise
connection imported 97 rows in two consecutive seconds on 2026-07-29 — exactly
one `size=100` page after CARD_CHECK and non-EUR filtering — and in roughly 50
runs over the next 14 days never imported a single row older than 2025-12-19.
Page two has never been fetched. Meanwhile the loop hammered one endpoint for
120s straight, four times a day, until Wise started answering with timeouts and
a 500 — which is what made this look like a slow-provider problem.

The test tells the two apart by keying the fake off `nextCursor`, so the old
name looks like what it was: a one-page history that never ends. With the wrong
name the test does not terminate (verified under an alarm); with the right one it
pages twice and stops.
2026-08-12 13:14:33 +02:00
..
AccountMappingTest.php fix(open-banking): unblock account mapping when the bank reports accounts without a uid (#746) 2026-08-09 18:41:35 +02:00
AuthorizationControllerTest.php refactor(open-banking): bring the authorization callback back under the complexity threshold (#784) 2026-08-12 09:47:22 +00:00
BalanceSyncServiceTest.php Batch historical balance writes (#356) 2026-05-05 15:26:28 +01:00
BankingConnectionSyncerFactoryTest.php feat(banking): add Interactive Brokers sync via Flex Web Service (#581) 2026-06-23 11:39:24 +02:00
BinanceBalanceSyncTest.php fix(binance): value past days from Binance's own snapshot total (#763) 2026-08-11 11:04:06 +00:00
BinanceControllerTest.php feat(open-banking): remove feature flag gating (#297) 2026-04-17 10:20:05 +02:00
BitpandaBalanceSyncTest.php fix(banking): stop crypto holdings quoted only in USD from vanishing from the balance (#759) 2026-08-11 02:56:03 +00:00
BitpandaControllerTest.php feat(open-banking): remove feature flag gating (#297) 2026-04-17 10:20:05 +02:00
CoinbaseBalanceSyncTest.php fix(coinbase): stop one unlisted stablecoin from unpricing the whole portfolio (#761) 2026-08-11 08:24:14 +00:00
CoinbaseControllerTest.php feat: Coinbase banking integration (#388) 2026-05-13 19:53:30 +02:00
ConnectionAccountTest.php feat(open-banking): enable manage bank accounts for everyone (#572) 2026-06-20 17:35:43 +00:00
ConnectionControllerTest.php feat(banking): let Wise credentials be updated (#588) 2026-06-23 09:54:31 +00:00
DailyEmailTransactionsIndexTest.php perf(db): index transactions for the daily synced-email slow query (PHP-LARAVEL-3X) (#622) 2026-07-02 15:51:15 +02:00
EnableBankingProviderTest.php fix(banking): stop unclassified bank responses from silently killing a connection (#742) 2026-08-09 17:26:34 +02:00
IndexaCapitalBalanceSyncTest.php fix(banking): treat Indexa Capital performance 404 as empty data (#386) 2026-05-13 09:34:28 +01:00
IndexaCapitalControllerTest.php feat(open-banking): remove feature flag gating (#297) 2026-04-17 10:20:05 +02:00
InstitutionControllerTest.php feat(open-banking): remove feature flag gating (#297) 2026-04-17 10:20:05 +02:00
InteractiveBrokersBalanceSyncTest.php feat(banking): add Interactive Brokers sync via Flex Web Service (#581) 2026-06-23 11:39:24 +02:00
InteractiveBrokersControllerTest.php refactor(open-banking): extract shared connect-controller flow into a base class (#639) 2026-07-04 20:24:54 +02:00
OpenBankingFeatureFlagTest.php refactor: remove HIDE_AUTH_BUTTONS launch gate and waitlist apparatus (#717) 2026-07-22 08:51:48 +02:00
SyncBankingConnectionJobTest.php fix(banking): stop bank connections from silently dropping out of scheduled syncing (#782) 2026-08-12 11:32:36 +02:00
SyncBinanceHistoricalBalancesJobTest.php chore: upgrade Laravel 12 to 13 (#242) 2026-03-25 12:56:33 +00:00
SyncRetryAndLoggingTest.php fix(banking): stop bank connections from silently dropping out of scheduled syncing (#782) 2026-08-12 11:32:36 +02:00
TransactionSyncServiceTest.php feat(transactions): allow manual transactions on bank-connected accounts (#747) 2026-08-10 05:32:40 +02:00
WiseBalanceSyncTest.php feat: add Wise open banking integration with balance sync (#525) 2026-06-16 13:23:25 +00:00
WiseControllerTest.php feat: add Wise open banking integration with balance sync (#525) 2026-06-16 13:23:25 +00:00
WisePaginationTest.php fix(wise): send the pagination cursor under the name Wise reads 2026-08-12 13:14:33 +02:00
WiseTransientErrorTest.php fix(banking): stop Wise outages from silently parking a bank connection (#757) 2026-08-10 16:40:09 +02:00