Commit Graph
52 Commits
Author SHA1 Message Date
Stevan Freeborn d293c0d75a refactor: remove unused using directive for Going.Plaid.Transactions in PlaidTransactionProcessorTests 2026-03-08 16:16:07 -05:00
Stevan Freeborn 1c0fdc205e tests(infra.tests): enhance AccountBuilder with metadata handling and expand PlaidTransactionSyncerTests 2026-03-08 16:14:51 -05:00
Stevan Freeborn 1a4f7fac8d tests(infra,api): refactor to allow further config of TestApi 2026-03-08 09:15:45 -05:00
Stevan Freeborn 870baf7b6c tests(infra.tests): added builder classes for creating test entities 2026-03-08 07:18:27 -05:00
Stevan Freeborn 27d2ccbd45 tests(infra.tests): wip on builder apis for test data 2026-03-06 07:14:57 -06:00
Stevan Freeborn 66f4046d2e feat: implement transaction handling and add integration tests for Plaid transaction handlers 2026-03-05 13:58:00 -06:00
Stevan Freeborn 0f0ed561c3 feat: update account handling in add endpoint and tests 2026-03-03 07:40:19 -06:00
Stevan Freeborn 74793b5800 feat: continued wip on supporting transactions 2026-03-03 07:36:09 -06:00
Stevan Freeborn 33f74ee018 tests(api.tests): fix methods broken in refactor 2026-03-03 05:08:12 -06:00
Stevan Freeborn b9d0869ae3 feat: add Plaid transaction handling and async queue processing
- introduced new migration to add Cursor column to AccountMetadata.
- updated AppDbContext model snapshot to reflect changes in the database schema.
- implemented async queue processing with ChannelAsyncQueue and AsyncQueueHostedService.
- created Plaid transaction handlers for added, modified, and removed transactions.
- developed PlaidTransactionService and PlaidTransactionSyncer for syncing transactions.
- added SyncUpdatesProcessor to handle sync updates from Plaid.
- updated tests to accommodate changes in institution and account metadata handling.
2026-03-01 19:56:29 -06:00
Stevan Freeborn 48e95e5242 refactor(api.tests): updated model names 2026-02-24 06:55:37 -06:00
Stevan Freeborn d5b6fb3a38 tests(apphost.tests): added support for end to end testing using playwright 2026-02-23 05:56:34 -06:00
Stevan Freeborn fd2cd68d73 feat(web,api): added ability to add and then display list of institutions 2026-02-22 06:53:13 -06:00
Stevan Freeborn 2cca5c15a0 chore: run dotnet format 2026-02-15 08:16:47 -06:00
Stevan Freeborn ab88656c1e feat(api): implement endpoint for creating link tokens 2026-02-15 07:02:01 -06:00
Stevan Freeborn 9c0f642f90 feat(api): support passing and persistenting currency code for balances 2026-02-14 06:46:05 -06:00
Stevan Freeborn 497dedf6ac feat(api): return balance info to frontend 2026-02-14 06:46:05 -06:00
Stevan Freeborn 6190470fe2 feat(api): initialize account with starting balance 2026-02-14 06:46:05 -06:00
Stevan Freeborn 3b7830b1bc refactor(api): introduce DTOs for institutional account discovery
- Replace raw Plaid entity response with a dedicated Response wrapper
- Map Plaid accounts to AccountDto to decouple API from external SDK
models
- Update integration tests to assert against the new response structure
- Add JsonConstructors to DTO records for reliable deserialization
2026-02-14 06:46:05 -06:00
Stevan Freeborn dad2ceb450 feat(api,core,infra): refactor endpoint routing and add institution account discovery
- Move login and refresh endpoints under a unified /auth route group
- Relocate institution connection logic from /accounts to /institutions
- Implement GET /institutions/{id}/available to fetch real-time Plaid
accounts
- Introduce HttpRequestBuilder utility to streamline integration testing
- Enhance PlaidService with GetAccountsAsync to support account fetching
- Clean up global usings and project structure for better domain
isolation
2026-02-14 06:46:05 -06:00
Stevan Freeborn 32cf48bf36 refactor(infra,api.tests): fix my null lies 2026-02-13 12:38:18 -06:00
Stevan Freeborn 502f6f61c1 feat(api): validate account institution is connected and allow adding new account 2026-02-13 12:38:18 -06:00
Stevan Freeborn 6ca90ed25a refactor(api.tests): rename variable 2026-02-13 12:38:18 -06:00
Stevan Freeborn a83dbbcc54 feat(api): add validation to prevent duplicate accounts from being added 2026-02-13 12:38:18 -06:00
Stevan Freeborn 1a41c3c0b6 feat(api): implement storing connected insitution in db 2026-02-13 04:37:47 -06:00
Stevan Freeborn 7cdf87b860 tests(api.tests): pass cancellation token through delegate 2026-02-13 04:37:47 -06:00
Stevan Freeborn 8663daabae chore(api.tests): add example test settings file 2026-02-13 04:37:47 -06:00
Stevan Freeborn 1d661ac409 feat(api): prevent user from connecting to same institution twice 2026-02-13 04:37:47 -06:00
Stevan Freeborn 5da1f1decf refactor(api.tests): check for correct status code first in assertion 2026-02-13 04:37:47 -06:00
Stevan Freeborn 1f5e4a319a fix(api.tests): use a serializable dictionary for xunit test case data 2026-02-13 04:37:47 -06:00
Stevan Freeborn 683ca3fac4 feat(api): add validation for connect account request 2026-02-13 04:37:47 -06:00
Stevan Freeborn 87a68669cf feat(api): add protected connect account endpoint 2026-02-13 04:37:47 -06:00
Stevan Freeborn b4744076b7 tests: update test ring implementation 2026-02-06 06:53:20 -06:00
Stevan Freeborn 5b1a5f003e tests: add mucho tests 2026-02-06 06:53:20 -06:00
Stevan Freeborn bbe3779a53 tests: add remaining register integration tests 2026-02-03 21:04:25 -06:00
Stevan Freeborn 47692fc946 tests: add test for calling refresh with no access token 2026-02-03 21:04:25 -06:00
Stevan Freeborn 453aa3264d tests: check for proper cookie being set in response 2026-02-03 21:04:25 -06:00
Stevan Freeborn 1b89056258 tests: add jwt token builder for testing protected endpoints 2026-02-03 21:04:25 -06:00
Stevan Freeborn 0ce97cdec8 tests(api): add integration test for happy path when logging in 2026-02-03 04:38:40 -06:00
Stevan Freeborn 98de115259 feat(core): add password hashing and token generation interfaces 2026-02-03 04:38:40 -06:00
Stevan Freeborn 2a1a03ef6c test: update infra tests for new authentication namespaces 2026-02-03 04:38:40 -06:00
Stevan Freeborn a7eafa4966 test: add moq and code coverage support to test suite 2026-02-03 04:38:40 -06:00
Stevan Freeborn 38a03f56ca tests: refactor test suite to match new project structure 2026-02-03 04:38:40 -06:00
Stevan Freeborn 647b185d40 feat: implement password hasher 2026-02-03 04:38:40 -06:00
Stevan Freeborn 00d7c977e7 chore: move editorconfig to correct location 2026-02-03 04:38:40 -06:00
Stevan Freeborn ccda58be07 tests: fix integration test setup 2026-02-03 04:38:40 -06:00
Stevan Freeborn c037b895f0 feat: wip on testing login flows 2026-02-03 04:38:40 -06:00
Stevan Freeborn 28e4692ca1 feat: setup db context with initial models 2026-02-03 04:38:40 -06:00
Stevan Freeborn 1f84f47f31 feat: add simple check for username and password 2026-02-03 04:38:40 -06:00
Stevan Freeborn c5a429683c chore: update editorconfig settings 2026-02-03 04:38:40 -06:00