From 757194e886c8022bdacf55a250651979068a5b5e Mon Sep 17 00:00:00 2001 From: Sylvain Jermini Date: Fri, 7 Jun 2019 16:55:16 +0200 Subject: [PATCH] integration test of rest api #588 --- .../user/ReservationFlowIntegrationTest.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/test/java/alfio/controller/api/v2/user/ReservationFlowIntegrationTest.java b/src/test/java/alfio/controller/api/v2/user/ReservationFlowIntegrationTest.java index f0d8de84ee..4f3a15f403 100644 --- a/src/test/java/alfio/controller/api/v2/user/ReservationFlowIntegrationTest.java +++ b/src/test/java/alfio/controller/api/v2/user/ReservationFlowIntegrationTest.java @@ -25,6 +25,7 @@ import alfio.controller.api.v2.model.ItemsByCategory; import alfio.controller.api.v2.model.Language; import alfio.controller.form.ContactAndTicketsForm; +import alfio.controller.form.PaymentForm; import alfio.controller.form.ReservationForm; import alfio.controller.form.UpdateTicketOwnerForm; import alfio.manager.EventManager; @@ -34,6 +35,7 @@ import alfio.model.modification.DateTimeModification; import alfio.model.modification.TicketCategoryModification; import alfio.model.modification.TicketReservationModification; +import alfio.model.transaction.PaymentProxy; import alfio.repository.EventRepository; import alfio.repository.TicketCategoryRepository; import alfio.repository.system.ConfigurationRepository; @@ -358,8 +360,24 @@ public void reservationFlowTest() throws Exception { checkStatus(reservationId, HttpStatus.OK, false, TicketReservation.TicketReservationStatus.PENDING); overviewRes = reservationApiV2Controller.validateToOverview(event.getShortName(), reservationId, "en", contactForm, new BeanPropertyBindingResult(contactForm, "paymentForm"), new MockHttpServletRequest(), new RedirectAttributesModelMap()); + assertTrue(overviewRes.getBody().getValue()); checkStatus(reservationId, HttpStatus.OK, true, TicketReservation.TicketReservationStatus.PENDING); + + var paymentForm = new PaymentForm(); + var handleResError = reservationApiV2Controller.handleReservation(event.getShortName(), reservationId, "en", paymentForm, new BeanPropertyBindingResult(paymentForm, "paymentForm"), + new BindingAwareModelMap(), new MockHttpServletRequest(), new RedirectAttributesModelMap(), new MockHttpSession()); + assertEquals(HttpStatus.UNPROCESSABLE_ENTITY, handleResError.getStatusCode()); + + + paymentForm.setPrivacyPolicyAccepted(true); + paymentForm.setTermAndConditionsAccepted(true); + paymentForm.setPaymentMethod(PaymentProxy.OFFLINE); + var handleRes = reservationApiV2Controller.handleReservation(event.getShortName(), reservationId, "en", paymentForm, new BeanPropertyBindingResult(paymentForm, "paymentForm"), + new BindingAwareModelMap(), new MockHttpServletRequest(), new RedirectAttributesModelMap(), new MockHttpSession()); + assertEquals(HttpStatus.OK, handleRes.getStatusCode()); + + checkStatus(reservationId, HttpStatus.OK, true, TicketReservation.TicketReservationStatus.OFFLINE_PAYMENT); } }