| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- package se.citerus.dddsample.application;
-
- import static org.assertj.core.api.Assertions.assertThat;
- import static org.mockito.Matchers.any;
- import static org.mockito.Matchers.isA;
- import static org.mockito.Mockito.mock;
- import static org.mockito.Mockito.times;
- import static org.mockito.Mockito.verify;
- import static org.mockito.Mockito.when;
- import static se.citerus.dddsample.domain.model.location.SampleLocations.CHICAGO;
- import static se.citerus.dddsample.domain.model.location.SampleLocations.STOCKHOLM;
-
- import java.util.Date;
-
- import static org.assertj.core.api.Assertions.assertThat;
- import static se.citerus.dddsample.domain.model.location.SampleLocations.CHICAGO;
- import static se.citerus.dddsample.domain.model.location.SampleLocations.STOCKHOLM;
-
- import java.util.Date;
-
- import org.junit.After;
- import org.junit.Before;
- import org.junit.Test;
- import se.citerus.dddsample.application.impl.BookingServiceImpl;
- import se.citerus.dddsample.domain.model.cargo.Cargo;
- import se.citerus.dddsample.domain.model.cargo.CargoRepository;
- import se.citerus.dddsample.domain.model.cargo.TrackingId;
- import se.citerus.dddsample.domain.model.location.LocationRepository;
- import se.citerus.dddsample.domain.model.location.UnLocode;
- import se.citerus.dddsample.domain.service.RoutingService;
-
- public class BookingServiceTest {
-
- BookingServiceImpl bookingService;
- CargoRepository cargoRepository;
- LocationRepository locationRepository;
- RoutingService routingService;
-
- @Before
- public void setUp() {
- cargoRepository = mock(CargoRepository.class);
- locationRepository = mock(LocationRepository.class);
- routingService = mock(RoutingService.class);
- bookingService = new BookingServiceImpl(cargoRepository, locationRepository, routingService);
- }
-
- @Test
- public void testRegisterNew() {
- TrackingId expectedTrackingId = new TrackingId("TRK1");
- UnLocode fromUnlocode = new UnLocode("USCHI");
- UnLocode toUnlocode = new UnLocode("SESTO");
-
- when(cargoRepository.nextTrackingId()).thenReturn(expectedTrackingId);
- when(locationRepository.find(fromUnlocode)).thenReturn(CHICAGO);
- when(locationRepository.find(toUnlocode)).thenReturn(STOCKHOLM);
-
- TrackingId trackingId = bookingService.bookNewCargo(fromUnlocode, toUnlocode, new Date());
- assertThat(trackingId).isEqualTo(expectedTrackingId);
- }
-
- @After
- public void tearDown() {
- verify(cargoRepository, times(1)).store(isA(Cargo.class));
- verify(locationRepository, times(2)).find(any(UnLocode.class));
- }
- }
|