From f66b90a137706ce2fe3f58801c250fd34bcd6419 Mon Sep 17 00:00:00 2001 From: oLeoBarreto Date: Wed, 1 May 2024 21:17:33 -0300 Subject: [PATCH] =?UTF-8?q?test:=20alterando=20testes=20de=20produto=20par?= =?UTF-8?q?a=20nova=20liga=C3=A7=C3=A3o=20com=20empresa?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inbounds/InboundControllerTest.java | 12 +++- .../outbounds/OutboundControllerTest.java | 12 +++- .../products/ProductControllerTest.java | 27 +++++--- .../useCases/inbound/InboundServiceTest.java | 12 +++- .../outbound/OutboundServiceTest.java | 12 +++- .../product/ProductImageServiceTest.java | 12 +++- .../useCases/product/ProductServiceTest.java | 67 ++++++++++++------- 7 files changed, 115 insertions(+), 39 deletions(-) diff --git a/src/test/java/com/barreto/stockmanagement/controller/inbounds/InboundControllerTest.java b/src/test/java/com/barreto/stockmanagement/controller/inbounds/InboundControllerTest.java index aa8616d..6853445 100644 --- a/src/test/java/com/barreto/stockmanagement/controller/inbounds/InboundControllerTest.java +++ b/src/test/java/com/barreto/stockmanagement/controller/inbounds/InboundControllerTest.java @@ -1,5 +1,6 @@ package com.barreto.stockmanagement.controller.inbounds; +import com.barreto.stockmanagement.domains.Company; import com.barreto.stockmanagement.domains.documents.DocumentStatus; import com.barreto.stockmanagement.domains.documents.Inbound; import com.barreto.stockmanagement.domains.Product; @@ -37,6 +38,14 @@ class InboundControllerTest { @BeforeEach void setUp() { + var company = new Company( + "12.123.123/0001-12", + "Company test", + "company@test.com", + "12345" + ); + company.setId("companyId"); + Product product = new Product( "Produto 1", "Descricao do produto de teste", @@ -44,7 +53,8 @@ void setUp() { "test supplier", "test", null, - 0F + 0F, + company ); product.id = "productId"; diff --git a/src/test/java/com/barreto/stockmanagement/controller/outbounds/OutboundControllerTest.java b/src/test/java/com/barreto/stockmanagement/controller/outbounds/OutboundControllerTest.java index 0060867..1a91f6c 100644 --- a/src/test/java/com/barreto/stockmanagement/controller/outbounds/OutboundControllerTest.java +++ b/src/test/java/com/barreto/stockmanagement/controller/outbounds/OutboundControllerTest.java @@ -1,5 +1,6 @@ package com.barreto.stockmanagement.controller.outbounds; +import com.barreto.stockmanagement.domains.Company; import com.barreto.stockmanagement.domains.documents.DocumentStatus; import com.barreto.stockmanagement.domains.documents.Outbound; import com.barreto.stockmanagement.domains.Product; @@ -38,6 +39,14 @@ class OutboundControllerTest { @BeforeEach void setUp() { + var company = new Company( + "12.123.123/0001-12", + "Company test", + "company@test.com", + "12345" + ); + company.setId("companyId"); + Product product = new Product( "Produto 1", "Descricao do produto de teste", @@ -45,7 +54,8 @@ void setUp() { "test supplier", "test", null, - 0F + 0F, + company ); product.id = "productId"; diff --git a/src/test/java/com/barreto/stockmanagement/controller/products/ProductControllerTest.java b/src/test/java/com/barreto/stockmanagement/controller/products/ProductControllerTest.java index da34fe1..cbe22d2 100644 --- a/src/test/java/com/barreto/stockmanagement/controller/products/ProductControllerTest.java +++ b/src/test/java/com/barreto/stockmanagement/controller/products/ProductControllerTest.java @@ -1,5 +1,6 @@ package com.barreto.stockmanagement.controller.products; +import com.barreto.stockmanagement.domains.Company; import com.barreto.stockmanagement.domains.Product; import com.barreto.stockmanagement.infra.DTOs.product.ProductPostRequestBody; import com.barreto.stockmanagement.infra.DTOs.product.ProductPutRequestBody; @@ -42,6 +43,14 @@ class ProductControllerTest { @BeforeEach void setUp() { + var company = new Company( + "12.123.123/0001-12", + "Company test", + "company@test.com", + "12345" + ); + company.setId("companyId"); + Product product = new Product( "Produto 1", "Descricao do produto de teste", @@ -49,7 +58,8 @@ void setUp() { "test supplier", "test", "image-productId.jpeg", - 1F + 1F, + company ); product.id = "productId"; @@ -58,9 +68,9 @@ void setUp() { when(productService.createNewProduct(any(ProductPostRequestBody.class))).thenReturn(product); when(productService.updateProduct(any(ProductPutRequestBody.class))).thenReturn(product); when(productService.findProductById(anyString())).thenReturn(product); - when(productService.findProductBySupplier(any(Pageable.class), anyString())).thenReturn(productPage); - when(productService.findProductByCategory(any(Pageable.class), anyString())).thenReturn(productPage); - when(productService.listAllProducts(any(Pageable.class))).thenReturn(productPage); + when(productService.findProductBySupplier(any(Pageable.class), anyString(), anyString())).thenReturn(productPage); + when(productService.findProductByCategory(any(Pageable.class), anyString(), anyString())).thenReturn(productPage); + when(productService.listAllProducts(anyString(), any(Pageable.class))).thenReturn(productPage); doNothing().when(productService).deleteProduct(anyString()); when(productImageService.saveProductImage(anyString(), any(MultipartFile.class))).thenReturn(product); @@ -73,7 +83,7 @@ void setUp() { @Test @DisplayName("Should get a page of all existing products") void testGetProductsLists() { - ResponseEntity> productPage = productController.getProductsLists(PageRequest.of(0, 10)); + ResponseEntity> productPage = productController.getProductsLists(PageRequest.of(0, 10), "companyId"); assertNotNull(productPage); assertEquals("Produto 1", productPage.getBody().toList().get(0).getName()); @@ -83,7 +93,7 @@ void testGetProductsLists() { @Test @DisplayName("Should get a page of all existing products by category") void testGetProductByCategory() { - ResponseEntity> productPage = productController.getProductByCategory(PageRequest.of(0, 10), "test"); + ResponseEntity> productPage = productController.getProductByCategory(PageRequest.of(0, 10), "test", "companyId"); assertNotNull(productPage); assertEquals("Produto 1", productPage.getBody().toList().get(0).getName()); @@ -93,7 +103,7 @@ void testGetProductByCategory() { @Test @DisplayName("Should get a page of all existing products by supplier") void testGetProductBySupplier() { - ResponseEntity> productPage = productController.getProductByCategory(PageRequest.of(0, 10), "test"); + ResponseEntity> productPage = productController.getProductByCategory(PageRequest.of(0, 10), "test", "companyId"); assertNotNull(productPage); assertEquals("Produto 1", productPage.getBody().toList().get(0).getName()); @@ -118,7 +128,8 @@ void testPostNewProduct() { "Descricao do produto de teste", new BigDecimal(1), "test supplier", - "test" + "test", + "companyId" ); ResponseEntity product = productController.postNewProduct(productRequestBody); diff --git a/src/test/java/com/barreto/stockmanagement/useCases/inbound/InboundServiceTest.java b/src/test/java/com/barreto/stockmanagement/useCases/inbound/InboundServiceTest.java index 47af844..2baed58 100644 --- a/src/test/java/com/barreto/stockmanagement/useCases/inbound/InboundServiceTest.java +++ b/src/test/java/com/barreto/stockmanagement/useCases/inbound/InboundServiceTest.java @@ -1,5 +1,6 @@ package com.barreto.stockmanagement.useCases.inbound; +import com.barreto.stockmanagement.domains.Company; import com.barreto.stockmanagement.domains.documents.DocumentStatus; import com.barreto.stockmanagement.domains.documents.Inbound; import com.barreto.stockmanagement.domains.Product; @@ -40,6 +41,14 @@ class InboundServiceTest { @BeforeEach void setUp() { + var company = new Company( + "12.123.123/0001-12", + "Company test", + "company@test.com", + "12345" + ); + company.setId("companyId"); + Product product = new Product( "Produto 1", "Descricao do produto de teste", @@ -47,7 +56,8 @@ void setUp() { "test supplier", "test", null, - 0F + 0F, + company ); product.id = "productId"; diff --git a/src/test/java/com/barreto/stockmanagement/useCases/outbound/OutboundServiceTest.java b/src/test/java/com/barreto/stockmanagement/useCases/outbound/OutboundServiceTest.java index 3665c96..36efed9 100644 --- a/src/test/java/com/barreto/stockmanagement/useCases/outbound/OutboundServiceTest.java +++ b/src/test/java/com/barreto/stockmanagement/useCases/outbound/OutboundServiceTest.java @@ -1,5 +1,6 @@ package com.barreto.stockmanagement.useCases.outbound; +import com.barreto.stockmanagement.domains.Company; import com.barreto.stockmanagement.domains.documents.DocumentStatus; import com.barreto.stockmanagement.domains.documents.Outbound; import com.barreto.stockmanagement.domains.Product; @@ -43,6 +44,14 @@ class OutboundServiceTest { @BeforeEach void setUp() { + var company = new Company( + "12.123.123/0001-12", + "Company test", + "company@test.com", + "12345" + ); + company.setId("companyId"); + Product product = new Product( "Produto 1", "Descricao do produto de teste", @@ -50,7 +59,8 @@ void setUp() { "test supplier", "test", null, - 1F + 1F, + company ); product.id = "productId"; diff --git a/src/test/java/com/barreto/stockmanagement/useCases/product/ProductImageServiceTest.java b/src/test/java/com/barreto/stockmanagement/useCases/product/ProductImageServiceTest.java index 7e89434..091e568 100644 --- a/src/test/java/com/barreto/stockmanagement/useCases/product/ProductImageServiceTest.java +++ b/src/test/java/com/barreto/stockmanagement/useCases/product/ProductImageServiceTest.java @@ -1,5 +1,6 @@ package com.barreto.stockmanagement.useCases.product; +import com.barreto.stockmanagement.domains.Company; import com.barreto.stockmanagement.domains.Product; import com.barreto.stockmanagement.infra.config.utils.FileStorage; import com.barreto.stockmanagement.infra.database.repository.ProductRepository; @@ -36,6 +37,14 @@ class ProductImageServiceTest { @BeforeEach void setUp() { + var company = new Company( + "12.123.123/0001-12", + "Company test", + "company@test.com", + "12345" + ); + company.setId("companyId"); + Product product = new Product( "Produto 1", "Descricao do produto de teste", @@ -43,7 +52,8 @@ void setUp() { "test supplier", "test", null, - 1F + 1F, + company ); product.id = "productId"; diff --git a/src/test/java/com/barreto/stockmanagement/useCases/product/ProductServiceTest.java b/src/test/java/com/barreto/stockmanagement/useCases/product/ProductServiceTest.java index 5edcb16..061ddb6 100644 --- a/src/test/java/com/barreto/stockmanagement/useCases/product/ProductServiceTest.java +++ b/src/test/java/com/barreto/stockmanagement/useCases/product/ProductServiceTest.java @@ -1,9 +1,11 @@ package com.barreto.stockmanagement.useCases.product; +import com.barreto.stockmanagement.domains.Company; import com.barreto.stockmanagement.domains.Product; import com.barreto.stockmanagement.infra.DTOs.product.ProductPostRequestBody; import com.barreto.stockmanagement.infra.DTOs.product.ProductPutRequestBody; import com.barreto.stockmanagement.infra.database.repository.ProductRepository; +import com.barreto.stockmanagement.useCases.company.CompanyUseCase; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -31,11 +33,22 @@ class ProductServiceTest { @Mock private ProductRepository repository; + @Mock + private CompanyUseCase companyService; + @InjectMocks private ProductService productService; @BeforeEach void setUp() { + var company = new Company( + "12.123.123/0001-12", + "Company test", + "company@test.com", + "12345" + ); + company.setId("companyId"); + Product product = new Product( "Produto 1", "Descricao do produto de teste", @@ -43,24 +56,22 @@ void setUp() { "test supplier", "test", null, - 1F + 1F, + company ); product.id = "productId"; PageImpl productPage = new PageImpl<>(List.of(product)); - when(repository.findAll(any(Pageable.class))).thenReturn(productPage); - + when(repository.findByCompanyId(any(Pageable.class), anyString())).thenReturn(productPage); when(repository.findById(anyString())).thenReturn(Optional.of(product)); - - when(repository.findByCategory(any(Pageable.class), anyString())).thenReturn(productPage); - - when(repository.findBySupplier(any(Pageable.class), anyString())).thenReturn(productPage); - + when(repository.findByCategoryAndCompanyId(any(Pageable.class), anyString(), anyString())).thenReturn(productPage); + when(repository.findBySupplierAndCompanyId(any(Pageable.class), anyString(), anyString())).thenReturn(productPage); when(repository.save(any(Product.class))).thenReturn(product); - doNothing().when(repository).delete(any(Product.class)); + when(companyService.findCompanyById(anyString())).thenReturn(company); + MockitoAnnotations.openMocks(this); } @@ -72,7 +83,8 @@ void TestCreateProduct() { "Descricao do produto de teste", new BigDecimal(1), "test supplier", - "test"); + "test", + "companyId"); Product product = productService.createNewProduct(productRequestBody); @@ -88,7 +100,8 @@ void TestFindProductByID() { "Descricao do produto de teste", new BigDecimal(1), "test supplier", - "test"); + "test", + "companyId"); Product cratedProduct = productService.createNewProduct(productRequestBody); Product foundProduct = productService.findProductById(cratedProduct.id); @@ -104,15 +117,12 @@ void TestFindProductBySupplier() { "Descricao do produto de teste", new BigDecimal(1), "test supplier", - "test"); - - Product cratedProduct = productService.createNewProduct(productRequestBody); - - Page fakeProductPage = new PageImpl<>(Arrays.asList(cratedProduct)); + "test", + "companyId"); - when(repository.findBySupplier(any(Pageable.class), eq("test supplier"))).thenReturn(fakeProductPage); + productService.createNewProduct(productRequestBody); - Page productPage = productService.findProductBySupplier(PageRequest.of(0, 10), "test supplier"); + Page productPage = productService.findProductBySupplier(PageRequest.of(0, 10), "test supplier", "companyId"); assertFalse(productPage.getContent().isEmpty()); } @@ -125,11 +135,12 @@ void TestFindProductByCategory() { "Descricao do produto de teste", new BigDecimal(1), "test supplier", - "test"); + "test", + "companyId"); - Product cratedProduct = productService.createNewProduct(productRequestBody); + Product createdProduct = productService.createNewProduct(productRequestBody); - Page productPage = productService.findProductByCategory(PageRequest.of(0, 10), cratedProduct.getCategory()); + Page productPage = productService.findProductByCategory(PageRequest.of(0, 10), createdProduct.getCategory(), createdProduct.getCompany().getId()); assertFalse(productPage.getContent().isEmpty()); } @@ -142,11 +153,13 @@ void TestListAllProducts() { "Descricao do produto de teste", new BigDecimal(1), "test supplier", - "test"); + "test", + "companyId" + ); - Product cratedProduct = productService.createNewProduct(productRequestBody); + productService.createNewProduct(productRequestBody); - Page productPage = productService.listAllProducts(PageRequest.of(0, 10)); + Page productPage = productService.listAllProducts("companyId", PageRequest.of(0, 10)); assertFalse(productPage.getContent().isEmpty()); } @@ -159,7 +172,8 @@ void TestUpdateAnExistProduct() { "Descricao do produto de teste", new BigDecimal(1), "test supplier", - "test" + "test", + "companyId" ); Product product = productService.createNewProduct(productRequestBody); @@ -187,7 +201,8 @@ void TestDeleteAnExistProduct() { "Descricao do produto de teste", new BigDecimal(1), "test supplier", - "test" + "test", + "companyId" ); Product product = productService.createNewProduct(productRequestBody);