public async Task CreateDepositiveExpenditure() { var command = new DepositToExistingAccountCommand { UserId = new Guid("05541516-ccf1-41f4-b6ac-b2aa7d807b8c"), CultureId = new Guid("b295e0bc-96e9-41b2-9973-8fed2ce25599"), Amount = 1000, AccountId = new Guid("714b19c9-7c5b-47f9-9a99-46639db1595d"), Description = "Description", ExpenditureDate = DateTime.Today }; _db.Setup(x => x.SaveChangesAsync()).ReturnsAsync(1); var result = await _handler.Execute(command); Assert.IsNotNull(result); Assert.AreEqual(result.EffectiveRows, 1); Assert.AreEqual(_expenditures.Count, 1); var expenditure = _expenditures.First(); Assert.AreEqual(expenditure.AccountId, new Guid("714b19c9-7c5b-47f9-9a99-46639db1595d")); Assert.AreEqual(expenditure.Description, "Description"); Assert.AreEqual(expenditure.ExpenditureDate, DateTime.Today); Assert.AreEqual(expenditure.Amount, 1000); Assert.AreEqual(expenditure.UserId, new Guid("05541516-ccf1-41f4-b6ac-b2aa7d807b8c")); }
public async Task DontCreateExpenditureWithoutAccount() { var command = new DepositToExistingAccountCommand { UserId = new Guid("05541516-ccf1-41f4-b6ac-b2aa7d807b8c"), CultureId = new Guid("b295e0bc-96e9-41b2-9973-8fed2ce25599"), Amount = 1000, AccountId = Guid.NewGuid(), Description = "Description", ExpenditureDate = DateTime.Today }; _db.Setup(x => x.SaveChangesAsync()).ReturnsAsync(0); var result = await _handler.Execute(command); Assert.IsNotNull(result); Assert.AreEqual(result.EffectiveRows, 0); }
public async Task <ExpenditureViewModel> Put(DepositToExistingAccountCommand command) { var result = await _commandDispatcher.Execute <DepositToExistingAccountCommand, DepositToExistingAccountCommand.Result>(command); var accounts = await _queryDispatcher.Execute <GetAccountQuery, GetAccountQuery.Result>(new GetAccountQuery { UserId = command.UserId, CultureId = command.CultureId }); var expenditures = await _queryDispatcher.Execute <GetExpenditureQuery, GetExpenditureQuery.Result>(new GetExpenditureQuery { UserId = command.UserId, CultureId = command.CultureId }); return(new ExpenditureViewModel { AccountPresentations = accounts.AccountPresentations, ExpenditurePresentations = expenditures.ExpenditurePresentations, EffectiveRows = result.EffectiveRows }); }