@Before public void before() { SecurityService securityService = mock(SecurityService.class); ValidationRunStatusService validationRunStatusService = mock(ValidationRunStatusService.class); structureRepository = mock(StructureRepository.class); EventPostService eventService = mock(EventPostService.class); EventFactory eventFactory = mock(EventFactory.class); ExtensionManager extensionManager = mock(ExtensionManager.class); PropertyService propertyService = mock(PropertyService.class); PredefinedPromotionLevelService predefinedPromotionLevelService = mock(PredefinedPromotionLevelService.class); PredefinedValidationStampService predefinedValidationStampService = mock(PredefinedValidationStampService.class); DecorationService decorationService = mock(DecorationService.class); ProjectFavouriteService projectFavouriteService = mock(ProjectFavouriteService.class); service = new StructureServiceImpl( securityService, eventService, eventFactory, validationRunStatusService, structureRepository, extensionManager, propertyService, predefinedPromotionLevelService, predefinedValidationStampService, decorationService, projectFavouriteService); // Model Project project = Project.of(nd("P", "Project")).withId(ID.of(1)); Branch branch = Branch.of(project, nd("B", "Branch")).withId(ID.of(1)); copper = PromotionLevel.of(branch, nd("COPPER", "")).withId(ID.of(1)); build = Build.of(branch, nd("1", "Build 1"), Signature.of("test")).withId(ID.of(1)); }
@Test public void newPromotionRun_with_date() throws Exception { PromotionRun promotionRunToCreate = PromotionRun.of( build, copper, Signature.of("test").withTime(LocalDateTime.of(2014, 9, 13, 18, 24)), ""); when(structureRepository.newPromotionRun(promotionRunToCreate)) .thenReturn(promotionRunToCreate.withId(ID.of(1))); service.newPromotionRun(promotionRunToCreate); verify(structureRepository, times(1)).newPromotionRun(promotionRunToCreate); }
@Test public void newPromotionRun_with_no_date() throws Exception { AtomicReference<PromotionRun> ref = new AtomicReference<>(); when(structureRepository.newPromotionRun(any(PromotionRun.class))) .then( invocation -> { PromotionRun run = (PromotionRun) invocation.getArguments()[0]; ref.set(run); return run; }); service.newPromotionRun( PromotionRun.of(build, copper, Signature.of("test").withTime(null), "")); // Checks the signature's time assertNotNull(ref.get()); assertNotNull(ref.get().getSignature().getTime()); }