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 async Task Pay_ReturnsABadRequestObjectResult_WithFailBody() { // initializaController var controller = MockController(); controller.ModelState.AddModelError("Description", "some error"); // input (subject) var payment = EntryFactory.Build(); // test (result) var result = await controller.Entry(payment); // Assert one Assert.IsInstanceOf <BadRequestObjectResult>(result); //Assert two var ResponseResult = (BadRequestObjectResult)result; Assert.IsInstanceOf <ErrorsDTO>(ResponseResult.Value); //Assert three var bodyResult = (ErrorsDTO)ResponseResult.Value; Assert.AreEqual(1, bodyResult.Details.Keys.Count); Assert.AreEqual("some error", bodyResult.Details["descricao"][0]); }
public void TestSave() { var entry = EntryFactory.Build(); _repository.Save(entry); Assert.IsNotNull(entry.Id); }
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); }
public async Task Receipt_ReturnsAOkObjectResult_WithAUUID() { // initializaController var controller = MockController(); // input (subject) var receipt = EntryFactory.Build(); // test (result) var result = await controller.Entry(receipt); // Assert one Assert.IsInstanceOf <OkObjectResult>(result); //Assert two var ResponseResult = (OkObjectResult)result; Assert.IsInstanceOf <OkDTO>(ResponseResult.Value); //Assert three var bodyResult = (OkDTO)ResponseResult.Value; }