Example #1
0
        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());
        }
Example #2
0
        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);
        }
Example #5
0
        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);
        }