Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.evm.front.service.logic.bookingprocess;
- import com.evm.front.domain.logic.booking.Booking;
- import com.evm.front.domain.logic.booking.BookingKey;
- import com.evm.front.domain.logic.events.fields.EventField;
- import com.evm.front.domain.logic.order.RegistrantForm;
- import com.evm.front.domain.logic.order.RegistrantKey;
- import com.evm.front.repository.events.fields.EventFieldRepository;
- import com.evm.front.service.logic.bookingprocess.fields.BookingFormFieldFactory;
- import com.evm.front.service.logic.bookingprocess.forms.BookingFormStrategiesFactory;
- import com.evm.front.service.logic.bookingprocess.forms.BookingFormValidatorsFactory;
- import com.evm.front.service.logic.bookingprocess.forms.strategies.BookingFormStrategy;
- import com.evm.front.service.logic.bookingprocess.forms.strategies.SimpleBookingFormStrategy;
- import com.evm.front.service.logic.bookingprocess.forms.validators.EmptyBookingFormValidator;
- import com.evm.front.service.logic.bookingprocess.forms.validators.IBookingFormValidator;
- import com.evm.front.service.logic.registrants.RegistrantAggregateService;
- import com.evm.front.service.logic.registrants.RegistrantDataService;
- import com.evm.front.service.logic.registrants.RegistrantFormService;
- import com.evm.front.service.webbeans.eventpage.booking.BookingFormBean;
- import com.evm.front.service.webbeans.eventpage.booking.BookingFormsCollectionBean;
- import com.evm.front.service.webbeans.eventpage.booking.fields.BookingFormField;
- import com.evm.front.service.webbeans.eventpage.order.RegistrantAggregate;
- import org.hamcrest.core.IsNull;
- import org.junit.Before;
- import org.junit.Test;
- import org.junit.runner.RunWith;
- import org.mockito.InjectMocks;
- import org.mockito.Mock;
- import org.mockito.runners.MockitoJUnitRunner;
- import java.util.LinkedList;
- import java.util.List;
- import static org.hamcrest.core.Is.is;
- import static org.junit.Assert.*;
- import static org.mockito.Matchers.any;
- import static org.mockito.Matchers.eq;
- import static org.mockito.Mockito.*;
- @RunWith(MockitoJUnitRunner.class)
- public class BookingFormsServiceTest {
- @Mock RegistrantFormService registrantFormService;
- @Mock BookingService bookingService;
- @Mock BookingFormStrategiesFactory bookingFormStrategiesFactory;
- @Mock EventFieldRepository eventFieldRepository;
- @Mock RegistrantAggregateService registrantAggregateService;
- @Mock BookingFormFieldFactory fieldFactory;
- @Mock BookingFormStrategy bookingFormStrategy;
- @Mock BookingFormValidatorsFactory bookingFormValidatorsFactory;
- @Mock IBookingFormValidator validator = new EmptyBookingFormValidator();
- @Mock RegistrantDataService registrantDataService;
- @InjectMocks BookingFormsService bookingFormsService;
- private RegistrantKey registrantKey;
- private RegistrantForm registrantForm;
- private Booking booking;
- private List<EventField> eventFieldList = new LinkedList<>();
- private RegistrantAggregate registrantAggregate;
- @Before
- public void init() {
- registrantForm = new RegistrantForm();
- registrantKey = new RegistrantKey();
- registrantKey.setBookingId(56L);
- registrantKey.setFormIndex(3);
- registrantKey.setTicketSelectionId(31L);
- registrantForm.setKey(registrantKey);
- registrantForm.setId(13L);
- booking = new Booking();
- BookingKey bookingKey = new BookingKey();
- bookingKey.setVisitorId("someVisitorID");
- bookingKey.setEventId(5L);
- bookingKey.setTimeslotId(3L);
- booking.setKey(bookingKey);
- booking.setId(56L);
- for (int i = 0; i < 5; i++) {
- EventField eventField = new EventField();
- eventField.setId((long)i+1);
- eventField.setCode(i + "_code");
- eventField.setLabel(i + "_label");
- eventFieldList.add(eventField);
- }
- registrantAggregate = new RegistrantAggregate();
- registrantAggregate.setKey(registrantKey);
- registrantAggregate.setRegistrantForm(registrantForm);
- }
- @Test
- public void testUpdateBookingFormData() throws Exception {
- BookingFormBean bookingFormBean = new BookingFormBean();
- bookingFormBean.setFormName("Formname");
- when(registrantFormService.getRegistrantFormByUUID(any(String.class))).thenReturn(registrantForm);
- when(bookingService.getById(any(Long.class))).thenReturn(booking);
- when(eventFieldRepository.findByEventIdOrderBySortIndexAsc(any(Long.class))).thenReturn(eventFieldList);
- when(registrantAggregateService.getRegistrantDataAggregate(any(RegistrantKey.class))).thenReturn(registrantAggregate);
- when(bookingFormStrategiesFactory.chooseStrategy(any(Long.class))).thenReturn(bookingFormStrategy);
- when(bookingFormValidatorsFactory.getValidatorForForm(any(Booking.class))).thenReturn(validator);
- when(validator.validate(any(BookingFormBean.class))).thenReturn(true);
- when(bookingFormStrategy.getFormByKey(any(Booking.class), any(RegistrantKey.class))).thenReturn(bookingFormBean);
- BookingFormsCollectionBean bookingFormsCollectionBean = bookingFormsService.updateBookingFormData(eq(booking.getKey().getVisitorId()), anyString(), anyMapOf(String.class, String[].class));
- assertThat(bookingFormsCollectionBean, is(IsNull.notNullValue()));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement