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
This commit is contained in:
Stevan Freeborn
2026-02-14 06:46:05 -06:00
parent 32cf48bf36
commit dad2ceb450
27 changed files with 549 additions and 287 deletions
@@ -21,12 +21,6 @@ internal sealed class HttpResponseMessageAssertions(
HttpStatusCode expectedStatusCode
)
{
_chain.ForCondition(Subject.Content.Headers.ContentType?.MediaType is "application/json")
.FailWith(
"Expected response to be application/json, but found {0}",
Subject.Content.Headers.ContentType?.MediaType
);
_chain.ForCondition(Subject.StatusCode == expectedStatusCode)
.FailWith(
"Expected response status code to be {0}, but found {1}",
@@ -34,6 +28,13 @@ internal sealed class HttpResponseMessageAssertions(
Subject.StatusCode
);
_chain.ForCondition(Subject.Content.Headers.ContentType?.MediaType is "application/json")
.FailWith(
"Expected response to be application/json, but found {0}",
Subject.Content.Headers.ContentType?.MediaType
);
var content = await Subject.Content.ReadFromJsonAsync<T>();
_chain.ForCondition(content is not null)