public void TestEnqueToPayFail(decimal entryVal, decimal charges, decimal saldo) { //Input var entry = EntryFactory.Build(x => { x.Type = "payment"; x.FinancialCharges = charges; x.Value = entryVal; }); //behavior var account = AccountFactory.Build(); _mockAccountRepository.Setup(m => m.FindOrCreateBy(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())) .Returns(account); var balance = BalanceFactory.Build(x => x.Total = saldo); _mockBalanceRepository.Setup(m => m.LastByOrDefault(It.IsAny <Account>(), It.IsAny <DateTime>())) .Returns(balance); _mockPaymentQueue.Setup(m => m.Enqueue(entry, null)).Verifiable(); //test var val = _service.EnqueueToPay(entry); //assert Assert.IsInstanceOf <ErrorsDTO>(val.Result); Assert.AreSame("Account don't have especial limit", ((ErrorsDTO)val.Result).Details["valor_do_lancamento"][0]); _mockPaymentQueue.Verify(x => x.Enqueue(entry, null), Times.Never()); }
public void TestEnqueToPayOk(decimal entryVal, decimal charges, decimal saldo) { //Input var entry = EntryFactory.Build(x => { x.Type = "payment"; x.FinancialCharges = charges; x.Value = entryVal; }); //behavior var account = AccountFactory.Build(); _mockAccountRepository.Setup(m => m.FindOrCreateBy(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())) .Returns(account); var balance = BalanceFactory.Build(x => x.Total = saldo); _mockBalanceRepository.Setup(m => m.LastByOrDefault(It.IsAny <Account>(), It.IsAny <DateTime>())) .Returns(balance); _mockPaymentQueue.Setup(m => m.Enqueue(entry, null)).Verifiable(); //It.IsAny<Entry>( //test var val = _service.EnqueueToPay(entry); //assert Assert.IsInstanceOf <OkDTO>(val.Result); Assert.AreEqual(entry.UUID, ((OkDTO)val.Result).UUID); _mockPaymentQueue.Verify(x => x.Enqueue(entry, null), Times.Once()); }
public void TestSave() { var balance = BalanceFactory.Build(x => { x.Inputs.Clear(); x.Inputs.Add(new ShortEntryDTO(DateTime.Today, 100m)); }); _repository.Save(balance); Assert.IsNotNull(balance.Id); Assert.AreEqual(balance.Inputs.Count, 1); }
public void UpdateDayPostionNewDayTest(decimal yestarday, decimal today, decimal?DayPositionToday) { //behavior var balance = BalanceFactory.Build(x => x.Total = today); //test balance.UpdateDayPosition(yestarday); //assert Assert.AreEqual(DayPositionToday, balance.DayPosition); }
public void TestPaySucessul(decimal entryVal, decimal charges, decimal saldo) { //Input var entry = EntryFactory.Build(x => { x.Type = "pagamento"; x.Value = entryVal; x.FinancialCharges = charges; }); //behavior var account = AccountFactory.Build(); _mockAccountRepository.Setup(m => m.FindOrCreateBy(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())) .Returns(account); var balance = BalanceFactory.Build(x => x.Total = saldo); _mockBalanceRepository.Setup(m => m.FindOrCreateBy(account, It.IsAny <DateTime>())) .Returns(balance); _mockBalanceRepository.Setup(m => m.LastByOrDefault(It.IsAny <Account>(), It.IsAny <DateTime>())) .Returns(balance); _mockEntryRepository.Setup(m => m.BeginTransaction()).Verifiable(); _mockEntryRepository.Setup(m => m.Commit()).Verifiable(); //test var val = _service.Pay(entry); //assert Assert.IsInstanceOf <OkDTO>(val.Result); Assert.AreEqual(entry.UUID, ((OkDTO)val.Result).UUID); _mockEntryRepository.Verify(x => x.Save(entry), Times.Once()); _mockBalanceRepository.Verify(x => x.Update(balance), Times.Once()); Assert.AreEqual(1, balance.Outputs.Count); Assert.AreEqual(1, balance.Charges.Count); Assert.AreEqual(0, balance.Inputs.Count); }