Exemple #1
0
        public async Task RegisterNewPayment_CheckFunctionality()
        {
            var altering = new Altering
            {
                CustomerId = 1
            };

            dbContext.Alterings.Add(altering);
            dbContext.SaveChanges();

            var mock = new Mock <IBus>();

            mock.Setup(x => x.Publish(new OrderPaid {
                AlterationId = altering.Id
            }, default)).Returns(() =>
            {
                return(Task.CompletedTask);
            });
            controller = new PaymentsController(new AzureBasedMicroserviceContext(), mock.Object);

            var data = new NewPaymentViewModel
            {
                AlteringId = altering.Id,
                Amount     = 1000
            };
            var result = await controller.RegisterNewPayment(data);

            Assert.IsTrue((result as OkResult) != null, "It should return OkResult with valid AlterationId");


            removeAlterationFromDb(altering.Id);
            removePaymentFromDb(altering.Id);
        }
Exemple #2
0
        public async Task <IActionResult> CreateAlteration([FromBody] Altering model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            if (!customers.Any(x => x.Id == model.CustomerId))
            {
                return(BadRequest($"There is no any customer with Id = {model.CustomerId}"));
            }
            model.State = AlteringState.Initial;
            context.Add(model);
            await _unitOfWork.SaveChangesAsync();

            return(Ok(new { model.Id }));
        }