public static void SetReservedProviderInfoForTests(TestContext testContext) { ADMIN_USER = new User("Brulu", ADMIN_USER_USEREMAIL, "HOLA1234", AdminRole.GetInstance()); List <IField> emptyFields = new List <IField>(); TextField field = new TextField("NumeroCliente"); emptyFields.Add(field); DESIGNED_PROVIDER = new Provider("Apple", 3, emptyFields); ProvidersController providerController = new ProvidersController(ADMIN_USER.Email); providerController.PostProvider(DESIGNED_PROVIDER); IHttpActionResult actionResultProvider = providerController.GetProviders(); OkNegotiatedContentResult <IEnumerable <Provider> > contentResult = (OkNegotiatedContentResult <IEnumerable <Provider> >)actionResultProvider; IEnumerable <Provider> providers = contentResult.Content; foreach (Provider provider in providers) { if (provider.Name.Equals(DESIGNED_PROVIDER.Name)) { DESIGNED_PROVIDER.ID = provider.ID; } } providerController.Dispose(); FIRST_PAYMENT = CreateFirstPayment(); SECOND_PAYMENT = CreateNewRandomPayment(); CONTROLLER = new PaymentsController(ADMIN_USER_USEREMAIL); CONTROLLER.PostPayment(FIRST_PAYMENT); CONTROLLER.PostPayment(SECOND_PAYMENT); CONTROLLER.Dispose(); }
public async Task TestCreatePaymentUnknownMerchant() { SetMerchantId(Subject, UnknownMerchantId); var paymentRequest = GetPaymentRequest(); var response = await Subject.PostPayment(paymentRequest); Assert.IsInstanceOfType(response.Result, typeof(BadRequestResult)); Assert.IsNull(response.Value); }
public void BeAbleToPostNewPaymentIntoRepository() { Payment payment = CreateNewRandomPayment(); IHttpActionResult actionResult = CONTROLLER.PostPayment(payment); CreatedAtRouteNegotiatedContentResult <Payment> contentResult = (CreatedAtRouteNegotiatedContentResult <Payment>)actionResult; Assert.AreEqual(contentResult.Content, payment); }
public async Task Post_Payment_Returns_CreatedResult_When_Payment_Is_Successful() { _mediator .Setup(_ => _.Send(It.IsAny <CreatePaymentCommand>(), It.IsAny <CancellationToken>())) .ReturnsAsync(Response.Success <Guid>(Guid.Empty, "test")); var response = await _sut.PostPayment(Guid.Empty, new PostPaymentModel()); Assert.IsAssignableFrom <CreatedResult>(response.Result); }
public void FailIfPostedNewPaymentIsAlreadyInRepository() { List <IField> emptyFields = new List <IField>(); NumberField field = new NumberField("Monto"); emptyFields.Add(field); IField filledField = field.FillAndClone("100"); List <IField> fullFields = new List <IField>(); fullFields.Add(filledField); Provider provider = new Provider("Antel", 3, emptyFields); Receipt receipt = new Receipt(provider, fullFields, 100); List <Receipt> list = new List <Receipt>(); list.Add(receipt); Payment payment = new Payment(new CashPayMethod(DateTime.Now), 100, list); var mockPaymentService = new Mock <IPaymentService>(); mockPaymentService.Setup(x => x.CreatePayment(payment)).Throws(new ArgumentException()); PaymentsController controller = new PaymentsController(mockPaymentService.Object); IHttpActionResult actionResult = controller.PostPayment(payment); Assert.IsInstanceOfType(actionResult, typeof(BadRequestErrorMessageResult)); }
public void BeAbleToPostNewPaymentIntoRepository() { List <IField> emptyFields = new List <IField>(); NumberField field = new NumberField("Monto"); emptyFields.Add(field); IField filledField = field.FillAndClone("100"); List <IField> fullFields = new List <IField>(); fullFields.Add(filledField); Provider provider = new Provider("Antel", 3, emptyFields); Receipt receipt = new Receipt(provider, fullFields, 100); List <Receipt> list = new List <Receipt>(); list.Add(receipt); Payment payment = new Payment(new CashPayMethod(DateTime.Now), 100, list); var mockPaymentService = new Mock <IPaymentService>(); mockPaymentService.Setup(x => x.CreatePayment(payment)).Returns(1); PaymentsController controller = new PaymentsController(mockPaymentService.Object); IHttpActionResult actionResult = controller.PostPayment(payment); CreatedAtRouteNegotiatedContentResult <Payment> contentResult = (CreatedAtRouteNegotiatedContentResult <Payment>)actionResult; Assert.AreSame(contentResult.Content, payment); }
public async Task TestPostPaymentValid() { // Arrange var mockPaymentRepo = new Mock <IPaymentRepository>(); var mockCustomerRepo = new Mock <ICustomerRepository>(); var paymentDTO = CreatePaymentData(); mockPaymentRepo.Setup(repo => repo.GetPaymentFromCustomer(paymentDTO.CustomerId)) .ReturnsAsync(paymentDTO); mockCustomerRepo.Setup(repo => repo.GetCustomer(paymentDTO.CustomerId)) .ReturnsAsync(paymentDTO.Customer); // Act var controller = new PaymentsController(mockPaymentRepo.Object, mockCustomerRepo.Object); SimulateModelValidation.Validate(mockPaymentRepo, controller); var result = await controller.PostPayment(paymentDTO); // Assert var okResult = Assert.IsType <CreatedAtActionResult>(result); var res = Assert.IsType <Payment>(okResult.Value); var idea = res as Payment; Assert.Equal(1, idea.PaymentId); Assert.NotNull(idea.Customer); Assert.NotNull(idea.Domain); Assert.Equal(GetLastDayOfMonth(), idea.DueDate); Assert.Equal(PaymentStatus.CREATED, idea.Status); }
public void CreatePayment() { var context = serviceProvider.GetRequiredService <DataContext>(); var controller = new PaymentsController(context); controller.PostPayment(payment1); var createdPayment = controller.GetPaymentById(payment1.Id).Result.Value; Assert.Equal(createdPayment, payment1); }
public async Task TestPostPaymentNoAmount() { // Arrange var mockPaymentRepo = new Mock <IPaymentRepository>(); var mockCustomerRepo = new Mock <ICustomerRepository>(); var paymentDTO = CreatePaymentData(); paymentDTO.Amount = 0; mockPaymentRepo.Setup(repo => repo.GetPaymentFromCustomer(paymentDTO.CustomerId)) .ReturnsAsync(paymentDTO); mockCustomerRepo.Setup(repo => repo.GetCustomer(paymentDTO.CustomerId)) .ReturnsAsync(paymentDTO.Customer); // Act var controller = new PaymentsController(mockPaymentRepo.Object, mockCustomerRepo.Object); SimulateModelValidation.Validate(mockPaymentRepo, controller); var result = await controller.PostPayment(paymentDTO); // Assert Assert.IsType <BadRequestObjectResult>(result); }