use of com.ncedu.fooddelivery.api.v1.entities.order.Order 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.entities.order.Order in project 2021-msk-food-delivery by netcracker-edu.
the class OrderServiceTest method replaceCourierAccessExTest.
@Test
public void replaceCourierAccessExTest() {
User fakeUser = getFakeUserModerator();
Courier mockCourier = Mockito.mock(Courier.class);
Order fakeOrder = getFakeOrder();
fakeOrder.setWarehouse(getFakeWarehouse2());
Assertions.assertThrows(CustomAccessDeniedException.class, new Executable() {
@Override
public void execute() throws Throwable {
orderService.replaceCourier(fakeOrder, fakeUser);
}
});
}
use of com.ncedu.fooddelivery.api.v1.entities.order.Order 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.entities.order.Order 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);
}
use of com.ncedu.fooddelivery.api.v1.entities.order.Order in project 2021-msk-food-delivery by netcracker-edu.
the class DeliverySessionServiceTest method finishSessionActiveOrderExceptionTest.
@Test
public void finishSessionActiveOrderExceptionTest() {
Order order = Mockito.mock(Order.class);
Mockito.when(order.getId()).thenReturn(1L);
Mockito.when(deliverySessionRepo.getActiveSession(targetUser.getId())).thenReturn(deliverySession);
Mockito.when(orderService.findCouriersActiveOrder(targetCourier)).thenReturn(order);
Assertions.assertThrows(DeliverySessionFinishException.class, new Executable() {
@Override
public void execute() throws Throwable {
deliverySessionService.finishSession(targetUser);
}
});
Mockito.verify(deliverySessionRepo, Mockito.times(1)).getActiveSession(targetUser.getId());
Mockito.verify(orderService, Mockito.times(1)).findCouriersActiveOrder(targetCourier);
}
Aggregations