Esempio n. 1
0
        public async Task UploadWithSeasonIdAmountLessThanDebt()
        {
            var mockRepaymentUpload = new RepaymentUpload
            {
                CustomerId = 1,
                SeasonId   = 2,
                Amount     = 100,
                Date       = DateTime.Now
            };


            var repayments = await _repaymentService.ProcessUpload(mockRepaymentUpload);

            Assert.NotNull(repayments);
            Assert.Single(repayments);

            var repayment = repayments.First();

            Assert.Equal(mockRepaymentUpload.Amount, repayment.Amount);
            Assert.Equal(mockRepaymentUpload.CustomerId, repayment.CustomerId);
            Assert.Equal(mockRepaymentUpload.SeasonId, repayment.SeasonId);

            var summaryAfterUpload = await _dbContext.CustomerSummaries
                                     .FirstOrDefaultAsync(cs =>
                                                          cs.CustomerId == mockRepaymentUpload.CustomerId && cs.SeasonId == mockRepaymentUpload.SeasonId);


            Assert.Equal(800, summaryAfterUpload.TotalRepaid);
        }