feat: update account handling in add endpoint and tests
This commit is contained in:
@@ -1,3 +1,5 @@
|
|||||||
|
using Account = FiscalOS.Core.Accounts.Account;
|
||||||
|
|
||||||
namespace FiscalOS.API.Accounts.Add;
|
namespace FiscalOS.API.Accounts.Add;
|
||||||
|
|
||||||
internal static class Endpoint
|
internal static class Endpoint
|
||||||
@@ -59,8 +61,9 @@ internal static class Endpoint
|
|||||||
|
|
||||||
var decryptedAccessToken = await encryptor.DecryptAsyncFor(user, plaidInstitutionMetadata.EncryptedAccessToken, ct);
|
var decryptedAccessToken = await encryptor.DecryptAsyncFor(user, plaidInstitutionMetadata.EncryptedAccessToken, ct);
|
||||||
var accountMetadata = PlaidAccountMetadata.From(request.PlaidAccountId, request.PlaidAccountName);
|
var accountMetadata = PlaidAccountMetadata.From(request.PlaidAccountId, request.PlaidAccountName);
|
||||||
var account = Account.From(user.Institutions.First().Id, request.PlaidAccountName, accountMetadata);
|
var account = Account.From(request.PlaidAccountName, accountMetadata);
|
||||||
user.AddAccount(account);
|
user.AddAccount(account);
|
||||||
|
user.Institutions.First().AddAccount(account);
|
||||||
|
|
||||||
await appDbContext.SaveChangesAsync(ct);
|
await appDbContext.SaveChangesAsync(ct);
|
||||||
await queue.EnqueueAsync(new(plaidInstitutionMetadata.ItemId), ct);
|
await queue.EnqueueAsync(new(plaidInstitutionMetadata.ItemId), ct);
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
using Institution = FiscalOS.Core.Accounts.Institution;
|
||||||
|
|
||||||
namespace FiscalOS.API.Institutions.Connect;
|
namespace FiscalOS.API.Institutions.Connect;
|
||||||
|
|
||||||
internal static class Endpoint
|
internal static class Endpoint
|
||||||
|
|||||||
@@ -1,3 +1,6 @@
|
|||||||
|
using Account = FiscalOS.Core.Accounts.Account;
|
||||||
|
using Institution = FiscalOS.Core.Accounts.Institution;
|
||||||
|
|
||||||
namespace FiscalOS.API.Institutions.Get;
|
namespace FiscalOS.API.Institutions.Get;
|
||||||
|
|
||||||
internal sealed record Response
|
internal sealed record Response
|
||||||
|
|||||||
@@ -169,8 +169,6 @@ public class AddTests(TestApi testApi) : IntegrationTest(testApi)
|
|||||||
var userEncryptionKey = await encryptor.GenerateEncryptedKeyAsync(ct);
|
var userEncryptionKey = await encryptor.GenerateEncryptedKeyAsync(ct);
|
||||||
var user = User.From("User1", passwordHasher.Hash("@Password1"), userEncryptionKey);
|
var user = User.From("User1", passwordHasher.Hash("@Password1"), userEncryptionKey);
|
||||||
|
|
||||||
await context.AddAsync(user, ct);
|
|
||||||
|
|
||||||
var encryptedAccessToken = await encryptor.EncryptAsyncFor(user, "accessToken", ct);
|
var encryptedAccessToken = await encryptor.EncryptAsyncFor(user, "accessToken", ct);
|
||||||
var plaidMetadata = PlaidInstitutionMetadata.From(
|
var plaidMetadata = PlaidInstitutionMetadata.From(
|
||||||
"alreadyExists",
|
"alreadyExists",
|
||||||
@@ -183,11 +181,13 @@ public class AddTests(TestApi testApi) : IntegrationTest(testApi)
|
|||||||
await context.AddAsync(institution, ct);
|
await context.AddAsync(institution, ct);
|
||||||
|
|
||||||
var plaidAccountMetadata = PlaidAccountMetadata.From("accountId", "Some Account");
|
var plaidAccountMetadata = PlaidAccountMetadata.From("accountId", "Some Account");
|
||||||
var account = Account.From(institution.Id, "Some Account", plaidAccountMetadata);
|
var account = Account.From("Some Account", plaidAccountMetadata);
|
||||||
|
|
||||||
|
institution.AddAccount(account);
|
||||||
user.AddInstitution(institution);
|
user.AddInstitution(institution);
|
||||||
user.AddAccount(account);
|
user.AddAccount(account);
|
||||||
|
|
||||||
|
await context.AddAsync(user, ct);
|
||||||
await context.SaveChangesAsync(ct);
|
await context.SaveChangesAsync(ct);
|
||||||
return (user, institution, account);
|
return (user, institution, account);
|
||||||
}, TestContext.Current.CancellationToken);
|
}, TestContext.Current.CancellationToken);
|
||||||
|
|||||||
Reference in New Issue
Block a user