예제 #1
0
        public async Task BeginAdvancePaymentRequestEvaluationTest()
        {
            var dbContext = DbContext;

            await GetAdvancePaymentRequestDetailsTest();

            Assert.Equal(2, dbContext.Payments.Count());
            Assert.Equal(1, dbContext.Advances.Count());

            var registeredAdmin = await dbContext.Users.FirstOrDefaultAsync();

            var waiAdminToken = registeredAdmin.MapToWhoAdminAmI().EncryptToken();

            AdminController controller = new AdminController(dbContext, FakeAcquirer, FakeAccount, FakeLogger);
            var             model      = new AdvanceEvaluationModel()
            {
                AuthToken = waiAdminToken,
                Id        = dbContext.Advances.First().Id
            };

            var advance = await controller.BeginAdvanceEvaluation(model);

            Assert.IsType <AdvanceJson>(advance);
            Assert.NotNull(advance.EvaluationDateStart);
            Assert.Null(advance.EvaluationDateEnd);
            Assert.True(DateTime.Now.AddMinutes(-1) < advance.EvaluationDateStart);
            Assert.Equal(registeredAdmin.Id, advance.EvaluationBy);
            Assert.Equal(model.Id, advance.Id);
        }
예제 #2
0
        public async Task <AdvanceJson> EndAdvanceEvaluation([FromQuery] AdvanceEvaluationModel model)
        {
            var advProcessing = new AdvanceProcessing(_context, _acquirerApi, _accountApi, _log);
            var advance       = model.Map();

            try
            {
                advance = await advProcessing.EndEvaluation(advance, model.IsApproved, model.AuthToken);
            }
            catch (Exception ex)
            {
                return(new AdvanceErrorJson(ex.Message));
            }

            await _context.SaveChangesAsync();

            return(new AdvanceJson(advance));
        }
예제 #3
0
        public async Task RejectPaymentTestAsync()
        {
            await BeginAdvancePaymentRequestEvaluationTest();

            var registeredAdmin = await DbContext.Users.FirstOrDefaultAsync();

            var waiAdminToken = registeredAdmin.MapToWhoAdminAmI().EncryptToken();

            AdminController controller      = new AdminController(DbContext, FakeAcquirer, FakeAccount, FakeLogger);
            var             evaluationModel = new AdvanceEvaluationModel()
            {
                AuthToken  = waiAdminToken,
                IsApproved = false,
                Id         = DbContext.Advances.First().Id
            };
            var adv2 = await controller.EndAdvanceEvaluation(evaluationModel);

            Assert.IsType <AdvanceJson>(adv2);
        }