tests(infra.tests): added builder classes for creating test entities
This commit is contained in:
@@ -1,43 +1,5 @@
|
||||
namespace FiscalOS.Infra.Tests.Data;
|
||||
|
||||
// protected async Task<User> CreateTestUserAsync()
|
||||
// {
|
||||
// var user = User.From(
|
||||
// "username",
|
||||
// "hashedPassword",
|
||||
// EncryptedDataKey.From("keyUsed", "encryptedKey")
|
||||
// );
|
||||
//
|
||||
// var institutionMetadata = PlaidInstitutionMetadata.From(
|
||||
// "plaidId",
|
||||
// "plaidName",
|
||||
// "encryptedAccessToken",
|
||||
// "itemId"
|
||||
// );
|
||||
// var institution = Institution.From("institutionName", institutionMetadata);
|
||||
// user.AddInstitution(institution);
|
||||
//
|
||||
// var accountMetadata = PlaidAccountMetadata.From("plaidId", "plaidName");
|
||||
// var account = Account.From("some account", accountMetadata);
|
||||
// user.AddAccount(account);
|
||||
// institution.AddAccount(account);
|
||||
//
|
||||
// var transactionMetadata = PlaidTransactionMetadata.From("plaidId");
|
||||
// var transaction = Transaction.From(
|
||||
// "merchantName",
|
||||
// "description",
|
||||
// 100,
|
||||
// DateTimeOffset.UtcNow,
|
||||
// transactionMetadata
|
||||
// );
|
||||
// user.AddTransaction(transaction);
|
||||
// account.AddTransaction(transaction);
|
||||
//
|
||||
// await AppDbContext.AddAsync(user, TestContext.Current.CancellationToken);
|
||||
// await AppDbContext.SaveChangesAsync(TestContext.Current.CancellationToken);
|
||||
//
|
||||
// return user;
|
||||
// }
|
||||
internal sealed class UserBuilder
|
||||
{
|
||||
private string _username = "username";
|
||||
@@ -46,7 +8,7 @@ internal sealed class UserBuilder
|
||||
"keyUsed",
|
||||
"encryptedKey"
|
||||
);
|
||||
private readonly List<InstitutionBuilder> _instituionBuilders = [];
|
||||
private readonly List<Institution> _instituions = [];
|
||||
|
||||
private UserBuilder()
|
||||
{
|
||||
@@ -79,7 +41,7 @@ internal sealed class UserBuilder
|
||||
{
|
||||
var ib = InstitutionBuilder.Create();
|
||||
action?.Invoke(ib);
|
||||
_instituionBuilders.Add(ib);
|
||||
_instituions.Add(ib.Build());
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -91,10 +53,19 @@ internal sealed class UserBuilder
|
||||
_dataKey
|
||||
);
|
||||
|
||||
foreach (var ib in _instituionBuilders)
|
||||
foreach (var institution in _instituions)
|
||||
{
|
||||
var institution = ib.WithUser(user).Build();
|
||||
user.AddInstitution(institution);
|
||||
|
||||
foreach (var account in institution.Accounts)
|
||||
{
|
||||
user.AddAccount(account);
|
||||
|
||||
foreach (var transaction in account.Transactions)
|
||||
{
|
||||
user.AddTransaction(transaction);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return user;
|
||||
|
||||
Reference in New Issue
Block a user