diff --git a/src/main/java/org/openlmis/requisition/service/PeriodService.java b/src/main/java/org/openlmis/requisition/service/PeriodService.java index 20f72a65d..94e03c433 100644 --- a/src/main/java/org/openlmis/requisition/service/PeriodService.java +++ b/src/main/java/org/openlmis/requisition/service/PeriodService.java @@ -248,14 +248,12 @@ public ProcessingPeriodDto findPeriod(UUID programId, UUID facilityId, UUID sugg if (suggestedPeriodId != null && period != null) { - ProcessingPeriodDto proposedPeriod = periodReferenceDataService - .searchById(suggestedPeriodId); + ProcessingPeriodDto + proposedPeriod = getPeriod(suggestedPeriodId); - if (!proposedPeriod.getId().equals(period.getId())) { + if (proposedPeriod != null && !proposedPeriod.getId() + .equals(period.getId())) { period = proposedPeriod; - } else { - throw new ValidationMessageException(new Message( - ERROR_PERIOD_SHOULD_BE_OLDEST_AND_NOT_ASSOCIATED)); } } diff --git a/src/test/java/org/openlmis/requisition/service/PeriodServiceTest.java b/src/test/java/org/openlmis/requisition/service/PeriodServiceTest.java index 5e28d554e..55bd2623e 100644 --- a/src/test/java/org/openlmis/requisition/service/PeriodServiceTest.java +++ b/src/test/java/org/openlmis/requisition/service/PeriodServiceTest.java @@ -406,12 +406,9 @@ public void shouldThrowExceptionIfPeriodIsNotTheOldest() { mockSupportedProgramStartDateNotSet(); when(periodReferenceDataService.searchByProgramAndFacility(programId, facilityId)) - .thenReturn(Lists.newArrayList(currentPeriod)); - - when(periodReferenceDataService.searchById(currentPeriod.getId())) - .thenReturn(currentPeriod); + .thenReturn(null); - periodService.findPeriod(programId, facilityId, currentPeriod.getId(), false); + periodService.findPeriod(programId, facilityId, UUID.randomUUID(), false); } @Test @@ -428,7 +425,7 @@ public void shouldThrowExceptionIfPeriodHasNoSuggestedPeriod() { when(periodReferenceDataService.searchByProgramAndFacility(programId, facilityId)) .thenReturn(Lists.newArrayList(currentPeriod)); - when(periodReferenceDataService.searchById(suggestedPeriod.getId())) + when(periodService.getPeriod(suggestedPeriod.getId())) .thenReturn(suggestedPeriod); ProcessingPeriodDto period = periodService