package net.java.cargotracker.application; import net.java.cargotracker.application.ApplicationEvents; import java.util.Date; import net.java.cargotracker.application.internal.DefaultHandlingEventService; import net.java.cargotracker.domain.model.cargo.Cargo; import net.java.cargotracker.domain.model.cargo.CargoRepository; import net.java.cargotracker.domain.model.cargo.RouteSpecification; import net.java.cargotracker.domain.model.cargo.TrackingId; import net.java.cargotracker.domain.model.handling.HandlingEvent; import net.java.cargotracker.domain.model.handling.HandlingEventRepository; import net.java.cargotracker.domain.model.location.LocationRepository; import net.java.cargotracker.domain.model.location.SampleLocations; import net.java.cargotracker.domain.model.voyage.SampleVoyages; import net.java.cargotracker.domain.model.voyage.VoyageRepository; public class HandlingEventServiceTest { private DefaultHandlingEventService service; private ApplicationEvents applicationEvents; private CargoRepository cargoRepository; private VoyageRepository voyageRepository; private HandlingEventRepository handlingEventRepository; private LocationRepository locationRepository; private Cargo cargo = new Cargo(new TrackingId("ABC"), new RouteSpecification(SampleLocations.HAMBURG, SampleLocations.TOKYO, new Date())); protected void setUp() throws Exception { // cargoRepository = createMock(CargoRepository.class); // voyageRepository = createMock(VoyageRepository.class); // handlingEventRepository = createMock(HandlingEventRepository.class); // locationRepository = createMock(LocationRepository.class); // applicationEvents = createMock(ApplicationEvents.class); // HandlingEventFactory handlingEventFactory = new HandlingEventFactory( // cargoRepository, voyageRepository, locationRepository); // service = new DefaultHandlingEventService(handlingEventRepository, applicationEvents, handlingEventFactory); } protected void tearDown() throws Exception { // verify(cargoRepository, voyageRepository, handlingEventRepository, applicationEvents); } public void testRegisterEvent() throws Exception { // expect(cargoRepository.find(cargo.getTrackingId())).andReturn(cargo); // expect(voyageRepository.find(SampleVoyages.CM001.getVoyageNumber())) // .andReturn(SampleVoyages.CM001); // expect(locationRepository.find(SampleLocations.STOCKHOLM.getUnLocode())) // .andReturn(SampleLocations.STOCKHOLM); // handlingEventRepository.store(isA(HandlingEvent.class)); // applicationEvents.cargoWasHandled(isA(HandlingEvent.class)); // replay(cargoRepository, voyageRepository, handlingEventRepository, // locationRepository, applicationEvents); service.registerHandlingEvent(new Date(), cargo.getTrackingId(), SampleVoyages.CM001.getVoyageNumber(), SampleLocations.STOCKHOLM.getUnLocode(), HandlingEvent.Type.LOAD); } }