use of org.openlmis.stockmanagement.dto.PhysicalInventoryDto in project openlmis-stockmanagement by OpenLMIS.
the class PhysicalInventoryServiceTest method shouldSubmitPhysicalInventory.
@Test
public void shouldSubmitPhysicalInventory() throws Exception {
PhysicalInventoryDto physicalInventoryDto = newInventoryForSubmit();
int previousSoH = new Random().nextInt();
when(stockCardRepository.findByProgramIdAndFacilityId(physicalInventoryDto.getProgramId(), physicalInventoryDto.getFacilityId())).thenReturn(singletonList(stockCard));
StockCard cloneOfCard = mockCloneOfCard(previousSoH);
when(stockCard.getOrderableId()).thenReturn(lineItemDto.getOrderableId());
when(stockCard.getLotId()).thenReturn(lineItemDto.getLotId());
when(stockCard.shallowCopy()).thenReturn(cloneOfCard);
physicalInventoryService.submitPhysicalInventory(physicalInventoryDto, UUID.randomUUID());
verify(physicalInventoryRepository, times(1)).save(inventoryArgumentCaptor.capture());
verify(stockCard).shallowCopy();
verify(cloneOfCard).calculateStockOnHand();
verifyPhysicalInventorySavedWithSohAndAsDraft(previousSoH);
}
use of org.openlmis.stockmanagement.dto.PhysicalInventoryDto in project openlmis-stockmanagement by OpenLMIS.
the class PhysicalInventoryServiceTest method shouldThrowExceptionWhenCreateNewDraftIfExistsAlready.
@Test(expected = ValidationMessageException.class)
public void shouldThrowExceptionWhenCreateNewDraftIfExistsAlready() throws Exception {
UUID programId = UUID.randomUUID();
UUID facilityId = UUID.randomUUID();
PhysicalInventoryDto piDto = createInventoryDto(programId, facilityId);
when(physicalInventoryRepository.findByProgramIdAndFacilityIdAndIsDraft(programId, facilityId, true)).thenReturn(Collections.singletonList(mock(PhysicalInventory.class)));
physicalInventoryService.createNewDraft(piDto);
}
use of org.openlmis.stockmanagement.dto.PhysicalInventoryDto in project openlmis-stockmanagement by OpenLMIS.
the class PhysicalInventoryServiceTest method shouldReturnAllSavedInventories.
@Test
public void shouldReturnAllSavedInventories() throws Exception {
PhysicalInventory inventory = createInventoryDraft(orderableId, programId, facilityId);
// given
when(physicalInventoryRepository.findByProgramIdAndFacilityId(programId, facilityId)).thenReturn(Collections.singletonList(inventory));
// when
List<PhysicalInventoryDto> foundDraft = physicalInventoryService.findPhysicalInventory(programId, facilityId, null);
// then
assertEquals(1, foundDraft.size());
assertEquals(programId, foundDraft.get(0).getProgramId());
assertEquals(facilityId, foundDraft.get(0).getFacilityId());
PhysicalInventoryLineItemDto lineItemDto = foundDraft.get(0).getLineItems().get(0);
assertEquals(orderableId, lineItemDto.getOrderableId());
assertEquals(null, lineItemDto.getQuantity());
}
use of org.openlmis.stockmanagement.dto.PhysicalInventoryDto in project openlmis-stockmanagement by OpenLMIS.
the class PhysicalInventoryServiceTest method shouldSearchBasedOnIsDraft.
private void shouldSearchBasedOnIsDraft(PhysicalInventory inventory, boolean isDraft) {
// given
inventory.setIsDraft(isDraft);
when(physicalInventoryRepository.findByProgramIdAndFacilityIdAndIsDraft(programId, facilityId, isDraft)).thenReturn(Collections.singletonList(inventory));
// when
List<PhysicalInventoryDto> foundDraft = physicalInventoryService.findPhysicalInventory(programId, facilityId, isDraft);
// then
assertEquals(1, foundDraft.size());
assertEquals(programId, foundDraft.get(0).getProgramId());
assertEquals(facilityId, foundDraft.get(0).getFacilityId());
assertEquals(isDraft, foundDraft.get(0).getIsDraft());
PhysicalInventoryLineItemDto lineItemDto = foundDraft.get(0).getLineItems().get(0);
assertEquals(orderableId, lineItemDto.getOrderableId());
assertEquals(null, lineItemDto.getQuantity());
}
use of org.openlmis.stockmanagement.dto.PhysicalInventoryDto in project openlmis-stockmanagement by OpenLMIS.
the class PhysicalInventoryServiceTest method shouldThrowExceptionWhenSaveDraftIfExistsAlready.
@Test(expected = ValidationMessageException.class)
public void shouldThrowExceptionWhenSaveDraftIfExistsAlready() throws Exception {
UUID programId = UUID.randomUUID();
UUID facilityId = UUID.randomUUID();
PhysicalInventoryDto piDto = createInventoryDto(programId, facilityId);
PhysicalInventory mock = mock(PhysicalInventory.class);
when(mock.getId()).thenReturn(UUID.randomUUID());
when(physicalInventoryRepository.findByProgramIdAndFacilityIdAndIsDraft(programId, facilityId, true)).thenReturn(Collections.singletonList(mock));
physicalInventoryService.saveDraft(piDto, piDto.getId());
}
Aggregations