use of com.ncedu.fooddelivery.api.v1.repos.order.OrderRepo in project 2021-msk-food-delivery by netcracker-edu.
the class OrderServiceTest method changeCourierRatingSuccessTest.
@Test
public void changeCourierRatingSuccessTest() {
User fakeUser = getFakeUserClient();
ChangeRatingDTO fakeDto = new ChangeRatingDTO();
fakeDto.setRating(new BigDecimal(4.5));
Order fakeOrder = getFakeOrder();
Mockito.when(orderRepo.save(Mockito.any(Order.class))).thenReturn(fakeOrder);
orderService.changeDeliveryRating(fakeOrder, fakeDto, fakeUser);
Assertions.assertTrue(fakeOrder.getDeliveryRating().equals(new BigDecimal(4.5)));
Mockito.verify(orderRepo, Mockito.times(1)).save(fakeOrder);
}
use of com.ncedu.fooddelivery.api.v1.repos.order.OrderRepo in project 2021-msk-food-delivery by netcracker-edu.
the class OrderServiceTest method changeOrderStatusSuccessTest.
@Test
public void changeOrderStatusSuccessTest() {
ChangeOrderStatusDTO dto = new ChangeOrderStatusDTO();
dto.setNewStatus(OrderStatus.DELIVERED);
Order fakeOrder = getFakeOrder();
Mockito.when(orderRepo.save(Mockito.any(Order.class))).thenReturn(fakeOrder);
orderService.changeOrderStatus(fakeOrder, getFakeUserClient(), dto);
Assertions.assertTrue(fakeOrder.getStatus() == OrderStatus.DELIVERED);
Mockito.verify(orderRepo, Mockito.times(1)).save(fakeOrder);
}
use of com.ncedu.fooddelivery.api.v1.repos.order.OrderRepo in project 2021-msk-food-delivery by netcracker-edu.
the class ProductPositionServiceTest method shipProductPositionsNotUniqueTest.
@Test
public void shipProductPositionsNotUniqueTest() {
ProductPositionsShipmentDTO mockDTO = Mockito.mock(ProductPositionsShipmentDTO.class);
List<ProductPositionsShipmentDTO.ProductPositionAmountPair> mockPairs;
ProductPositionsShipmentDTO.ProductPositionAmountPair mockPair1 = new ProductPositionsShipmentDTO.ProductPositionAmountPair(), mockPair2 = new ProductPositionsShipmentDTO.ProductPositionAmountPair();
mockPair1.setId(12L);
mockPair1.setAmount(10);
mockPair2.setId(13L);
mockPair2.setAmount(20);
mockPairs = new ArrayList<>(Arrays.asList(mockPair1, mockPair2, mockPair1));
Long mockOrderId = 110L;
Order mockOrder = new Order();
Warehouse mockWarehouse = Mockito.mock(Warehouse.class);
mockOrder.setWarehouse(mockWarehouse);
Mockito.when(mockWarehouse.getId()).thenReturn(1L);
Mockito.when(mockDTO.getPositionAmountPairs()).thenReturn(mockPairs);
Mockito.when(orderRepo.findById(Mockito.any(Long.class))).thenReturn(Optional.of(mockOrder));
assertThrows(NotUniqueIdException.class, new Executable() {
@Override
public void execute() {
productPositionService.shipProductPositions(mockOrderId, mockDTO);
}
});
Mockito.verify(orderRepo, times(1)).findById(110L);
Mockito.verify(mockDTO, times(1)).getPositionAmountPairs();
}
use of com.ncedu.fooddelivery.api.v1.repos.order.OrderRepo in project 2021-msk-food-delivery by netcracker-edu.
the class ProductPositionServiceTest method shipProductPositionsNotEnoughTest.
@Test
public void shipProductPositionsNotEnoughTest() {
Long mockOrderId = 110L;
Order mockOrder = Mockito.mock(Order.class);
ProductPositionsShipmentDTO mockDTO = Mockito.mock(ProductPositionsShipmentDTO.class);
ProductPositionsShipmentDTO.ProductPositionAmountPair mockPair = new ProductPositionsShipmentDTO.ProductPositionAmountPair();
mockPair.setId(10L);
mockPair.setAmount(1000);
ProductPosition mockPosition = Mockito.mock(ProductPosition.class);
mockPosition.setCurrentAmount(1);
Warehouse mockWarehouse = Mockito.mock(Warehouse.class);
Mockito.when(mockWarehouse.getId()).thenReturn(1L);
Mockito.when(mockOrder.getWarehouse()).thenReturn(mockWarehouse);
Mockito.when(mockDTO.getPositionAmountPairs()).thenReturn(new ArrayList<>(Arrays.asList(mockPair)));
Mockito.when(orderRepo.findById(Mockito.any(Long.class))).thenReturn(Optional.of(mockOrder));
Mockito.when(productPositionRepo.findById(Mockito.any(Long.class))).thenReturn(Optional.of(mockPosition));
Mockito.when(mockPosition.getWarehouse()).thenReturn(mockWarehouse);
assertThrows(ProductPositionNotEnoughException.class, new Executable() {
@Override
public void execute() {
productPositionService.shipProductPositions(mockOrderId, mockDTO);
}
});
verify(mockDTO, times(1)).getPositionAmountPairs();
verify(orderRepo, times(1)).findById(110L);
verify(productPositionRepo, times(2)).findById(10L);
}
Aggregations