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); }
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 })); }