예제 #1
0
        public async Task Should_AddNewEmptyPayment()
        {
            var payment = new PaymentInfoBuilder().WithRandomData().IsIncome(false).Build();

            _payments.Add(payment);

            await _importPayment.Handle(new ImportPaymentsCommand(null), CancellationToken.None);

            var savedPayment = await _context.Payments.FindAsync(payment.PaymentId);

            Assert.IsNotNull(savedPayment);
        }
예제 #2
0
        public async Task Should_AddNewPayment()
        {
            var payment = new PaymentInfoBuilder().WithRandomData().IsIncome(false).Build();

            _payments.Add(payment);

            await _importPayment.Handle(new ImportPaymentsCommand(null), CancellationToken.None);

            var savedPayment = await _context.Payments.FindAsync(payment.PaymentId);

            Assert.IsNotNull(savedPayment);
            Assert.AreEqual(payment.Amount, savedPayment.Amount);
            Assert.AreEqual(payment.Date, savedPayment.Date);
            Assert.AreEqual(payment.Details, savedPayment.Details.FullDetails);
            Assert.IsNull(savedPayment.Category);
        }
예제 #3
0
        public async Task Should_ApplyDefaultCategory()
        {
            //Arrange
            var details = DbContentBuilder.Details().CreateWithRandomData();

            details.DefaultCategory = DbContentBuilder.Category().CreateWithRandomData();

            var payment = new PaymentInfoBuilder().WithRandomData().IsIncome(false).Build();

            payment.Details = details.FullDetails;
            _payments.Add(payment);

            //Act
            await _importPayment.Handle(new ImportPaymentsCommand(null), CancellationToken.None);

            //Assert
            var savedPayment = await _context.Payments.FindAsync(payment.PaymentId);

            Assert.AreEqual(savedPayment.Category, details.DefaultCategory);
            Assert.AreEqual(savedPayment.Details, details);
        }
예제 #4
0
        public async Task Should_NotAddDuplicateOrChange_If_PaymentExistsAsync()
        {
            //Arrange
            var payment = new PaymentInfoBuilder().WithRandomData().IsIncome(false).Build();

            _payments.Add(payment);

            await _importPayment.Handle(new ImportPaymentsCommand(null), CancellationToken.None);

            var savedPayment = await _context.Payments.FindAsync(payment.PaymentId);

            savedPayment.Category = new CategoryBuilder().CreateWithRandomData();
            await _context.SaveChangesAsync();

            //Act
            await _importPayment.Handle(new ImportPaymentsCommand(null), CancellationToken.None);

            //Assert
            savedPayment = await _context.Payments.FindAsync(payment.PaymentId);

            Assert.IsNotNull(savedPayment.Category);
        }