Search in sources :

Example 6 with ProductPositionRepo

use of com.ncedu.fooddelivery.api.v1.repos.productPosition.ProductPositionRepo in project 2021-msk-food-delivery by netcracker-edu.

the class ProductPositionServiceTest method updatePaymentStatusNotNullTest.

@Test
public void updatePaymentStatusNotNullTest() {
    List<Long> mockIds = new ArrayList<>(Arrays.asList(1L, 2L, 3L));
    ProductPosition mockProductPosition = Mockito.mock(ProductPosition.class);
    when(productPositionRepo.findById(any(Long.class))).thenReturn(Optional.of(mockProductPosition));
    boolean res = productPositionService.updatePaymentStatus(mockIds);
    verify(productPositionRepo, times(3)).findById(any(Long.class));
    verify(mockProductPosition, times(3)).setIsInvoicePaid(true);
    verify(productPositionRepo, times(3)).save(mockProductPosition);
    assertTrue(res);
}
Also used : ProductPosition(com.ncedu.fooddelivery.api.v1.entities.productPosition.ProductPosition) Test(org.junit.jupiter.api.Test) SpringBootTest(org.springframework.boot.test.context.SpringBootTest)

Example 7 with ProductPositionRepo

use of com.ncedu.fooddelivery.api.v1.repos.productPosition.ProductPositionRepo 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);
}
Also used : Order(com.ncedu.fooddelivery.api.v1.entities.order.Order) Warehouse(com.ncedu.fooddelivery.api.v1.entities.Warehouse) Executable(org.junit.jupiter.api.function.Executable) ProductPosition(com.ncedu.fooddelivery.api.v1.entities.productPosition.ProductPosition) ProductPositionsShipmentDTO(com.ncedu.fooddelivery.api.v1.dto.ProductPositionDTOs.ProductPositionsShipmentDTO) Test(org.junit.jupiter.api.Test) SpringBootTest(org.springframework.boot.test.context.SpringBootTest)

Aggregations

ProductPosition (com.ncedu.fooddelivery.api.v1.entities.productPosition.ProductPosition)7 Test (org.junit.jupiter.api.Test)7 SpringBootTest (org.springframework.boot.test.context.SpringBootTest)7 WarehouseInfoDTO (com.ncedu.fooddelivery.api.v1.dto.warehouseDTOs.WarehouseInfoDTO)3 OrderProductPosition (com.ncedu.fooddelivery.api.v1.entities.orderProductPosition.OrderProductPosition)3 BigDecimal (java.math.BigDecimal)3 Order (com.ncedu.fooddelivery.api.v1.entities.order.Order)2 Executable (org.junit.jupiter.api.function.Executable)2 ProductPositionsShipmentDTO (com.ncedu.fooddelivery.api.v1.dto.ProductPositionDTOs.ProductPositionsShipmentDTO)1 CreateOrderDTO (com.ncedu.fooddelivery.api.v1.dto.order.CreateOrderDTO)1 Warehouse (com.ncedu.fooddelivery.api.v1.entities.Warehouse)1