Search in sources :

Example 6 with CoordsDTO

use of com.ncedu.fooddelivery.api.v1.dto.CoordsDTO in project 2021-msk-food-delivery by netcracker-edu.

the class ProductServiceTest method getProductsNullResult.

@Test
public void getProductsNullResult() {
    Pageable pageable = PageRequest.of(0, 2);
    Page<Product> productsPage = new PageImpl<>(new ArrayList<Product>(), pageable, 0);
    Long warehouseId = 4L;
    Point geo = makeGeo();
    WarehouseInfoDTO warehouseInfoDTO = new WarehouseInfoDTO(warehouseId, null, null, null, null, false);
    when(warehouseServiceMock.getNearestWarehouse(geo)).thenReturn(warehouseInfoDTO);
    when(productRepoMock.findAll(warehouseId, pageable)).thenReturn(productsPage);
    CoordsDTO coordsDTO = makeCoordsDTO();
    List<ProductDTO> resultList = productService.getProducts(coordsDTO, pageable);
    List<ProductDTO> perfectList = new ArrayList<>();
    verify(warehouseServiceMock, times(1)).getNearestWarehouse(geo);
    verify(productRepoMock, times(1)).findAll(warehouseId, pageable);
    assertEquals(perfectList, resultList);
}
Also used : PageImpl(org.springframework.data.domain.PageImpl) Pageable(org.springframework.data.domain.Pageable) ArrayList(java.util.ArrayList) Product(com.ncedu.fooddelivery.api.v1.entities.Product) Point(com.vividsolutions.jts.geom.Point) SearchProductDTO(com.ncedu.fooddelivery.api.v1.dto.product.SearchProductDTO) ProductDTO(com.ncedu.fooddelivery.api.v1.dto.product.ProductDTO) WarehouseInfoDTO(com.ncedu.fooddelivery.api.v1.dto.warehouseDTOs.WarehouseInfoDTO) CoordsDTO(com.ncedu.fooddelivery.api.v1.dto.CoordsDTO) Test(org.junit.jupiter.api.Test) SpringBootTest(org.springframework.boot.test.context.SpringBootTest)

Example 7 with CoordsDTO

use of com.ncedu.fooddelivery.api.v1.dto.CoordsDTO in project 2021-msk-food-delivery by netcracker-edu.

the class ProductServiceTest method getProductsSuccess.

// TODO: rewrite tests!!!
@Test
public void getProductsSuccess() {
    Pageable pageable = PageRequest.of(0, 2);
    Page<Product> productsPage = ProductUtils.createPageWithMilkProducts(pageable);
    Long warehouseId = 4L;
    Point geo = makeGeo();
    WarehouseInfoDTO warehouseInfoDTO = new WarehouseInfoDTO(warehouseId, null, null, null, null, false);
    when(warehouseServiceMock.getNearestWarehouse(geo)).thenReturn(warehouseInfoDTO);
    when(productRepoMock.findAll(warehouseId, pageable)).thenReturn(productsPage);
    CoordsDTO coordsDTO = makeCoordsDTO();
    List<ProductDTO> resultList = productService.getProducts(coordsDTO, pageable);
    List<ProductDTO> perfectList = ProductUtils.createProductDTOListFromPage(productsPage);
    verify(warehouseServiceMock, times(1)).getNearestWarehouse(geo);
    verify(productRepoMock, times(1)).findAll(warehouseId, pageable);
    assertEquals(perfectList, resultList);
}
Also used : Pageable(org.springframework.data.domain.Pageable) Product(com.ncedu.fooddelivery.api.v1.entities.Product) Point(com.vividsolutions.jts.geom.Point) SearchProductDTO(com.ncedu.fooddelivery.api.v1.dto.product.SearchProductDTO) ProductDTO(com.ncedu.fooddelivery.api.v1.dto.product.ProductDTO) WarehouseInfoDTO(com.ncedu.fooddelivery.api.v1.dto.warehouseDTOs.WarehouseInfoDTO) CoordsDTO(com.ncedu.fooddelivery.api.v1.dto.CoordsDTO) Test(org.junit.jupiter.api.Test) SpringBootTest(org.springframework.boot.test.context.SpringBootTest)

Aggregations

Point (com.vividsolutions.jts.geom.Point)6 WarehouseInfoDTO (com.ncedu.fooddelivery.api.v1.dto.warehouseDTOs.WarehouseInfoDTO)5 CoordsDTO (com.ncedu.fooddelivery.api.v1.dto.CoordsDTO)3 ProductDTO (com.ncedu.fooddelivery.api.v1.dto.product.ProductDTO)3 SearchProductDTO (com.ncedu.fooddelivery.api.v1.dto.product.SearchProductDTO)3 Product (com.ncedu.fooddelivery.api.v1.entities.Product)3 Test (org.junit.jupiter.api.Test)3 SpringBootTest (org.springframework.boot.test.context.SpringBootTest)3 Pageable (org.springframework.data.domain.Pageable)3 CountDTO (com.ncedu.fooddelivery.api.v1.dto.CountDTO)2 OrderProductPosition (com.ncedu.fooddelivery.api.v1.entities.orderProductPosition.OrderProductPosition)1 ProductPosition (com.ncedu.fooddelivery.api.v1.entities.productPosition.ProductPosition)1 NotFoundEx (com.ncedu.fooddelivery.api.v1.errors.notfound.NotFoundEx)1 ProductAvailabilityEx (com.ncedu.fooddelivery.api.v1.errors.orderRegistration.ProductAvailabilityEx)1 WarehouseCoordsBindingEx (com.ncedu.fooddelivery.api.v1.errors.orderRegistration.WarehouseCoordsBindingEx)1 ArrayList (java.util.ArrayList)1 PageImpl (org.springframework.data.domain.PageImpl)1