public AccountCreatorServiceTests() { var options = new DbContextOptionsBuilder <ApplicationDbContext>().UseInMemoryDatabase(Guid.NewGuid().ToString()).Options; _context = new ApplicationDbContext(options); _accountRepo = new AccountRepositoryAsync(_context); _transRepo = new TransactionRepositoryAsync(_context); _mockLogger = new Mock <ILogger <AccountController> >(); }
public AccountBalanceServiceTests() { var options = new DbContextOptionsBuilder <ApplicationDbContext>().UseInMemoryDatabase(Guid.NewGuid().ToString()).Options; _context = new ApplicationDbContext(options); _accountRepo = new AccountRepositoryAsync(_context); _transRepo = new TransactionRepositoryAsync(_context); _mockLogger = new Mock <ILogger <AccountController> >(); var config = new MapperConfiguration(opts => { opts.AddProfile(new PaymentApiMapper()); }); _mapper = config.CreateMapper(); }
public async Task GetFirstOrDefaultAsync_FindTransactionAndIncludeAccount_ExpectAccountInResult() { Account newAccount = new Account { Name = $"Johnny" }; _context.Accounts.Add(newAccount).Should().NotBeNull(); _context.SaveChanges().Should().BeGreaterThan(0); _context.Transactions.Add(new Transaction { AccountId = newAccount.Id, Date = new DateTime(2020, 1, 1), Amount = 1000 }).Should().NotBeNull(); _context.SaveChanges().Should().BeGreaterThan(0); TransactionRepositoryAsync transRepo = new TransactionRepositoryAsync(_context); Transaction transactionFromDb = await transRepo.GetFirstOrDefaultAsync(t => t.AccountId == newAccount.Id, includeProperties : nameof(Account)); transactionFromDb.Should().NotBeNull(); Account account = transactionFromDb.Account; account.Should().NotBeNull(); account.Name.Should().Be(newAccount.Name); account.Id.Should().Be(newAccount.Id); }
public async Task GetAllAsync_FindTransactionsIncludeAccount_ExpectAccountToBeIncluded() { Account newAccount = new Account { Name = $"Johnny" }; _context.Accounts.Add(newAccount).Should().NotBeNull(); _context.SaveChanges().Should().BeGreaterThan(0); _context.Transactions.Add(new Transaction { AccountId = newAccount.Id, Date = new DateTime(2020, 1, 1), Amount = 1000 }).Should().NotBeNull(); _context.SaveChanges().Should().BeGreaterThan(0); TransactionRepositoryAsync transRepo = new TransactionRepositoryAsync(_context); IEnumerable <Transaction> transactionFromDb = await transRepo.GetAllAsync(t => t.AccountId == newAccount.Id, includeProperties : nameof(Account)); transactionFromDb.Should().NotBeNull(); transactionFromDb.Should().NotBeEmpty(); Account account = transactionFromDb.ToList()[0].Account; account.Should().NotBeNull(); account.Name.Should().Be(newAccount.Name); account.Id.Should().Be(newAccount.Id); }