From a28377dfc1cdea0024264b21dc0374f79e4fa0a0 Mon Sep 17 00:00:00 2001 From: Bleno Claus Date: Sun, 19 May 2024 16:40:04 -0300 Subject: [PATCH 01/19] controller test --- .../controller/ComponentControllerTest.kt | 4 + .../adapter/controller/MenuControllerTest.kt | 109 ++++++++++++++++++ .../controller/ProductControllerTest.kt | 4 + .../adapter/controller/StockControllerTest.kt | 4 + .../services/ComponentServiceTest.kt | 2 +- .../services/ProductServiceTest.kt | 2 +- .../services/StockServiceTest.kt | 2 +- 7 files changed, 124 insertions(+), 3 deletions(-) create mode 100644 src/test/kotlin/com/fiap/stock/adapter/controller/ComponentControllerTest.kt create mode 100644 src/test/kotlin/com/fiap/stock/adapter/controller/MenuControllerTest.kt create mode 100644 src/test/kotlin/com/fiap/stock/adapter/controller/ProductControllerTest.kt create mode 100644 src/test/kotlin/com/fiap/stock/adapter/controller/StockControllerTest.kt rename src/test/kotlin/com/fiap/stock/{application => usecases}/services/ComponentServiceTest.kt (98%) rename src/test/kotlin/com/fiap/stock/{application => usecases}/services/ProductServiceTest.kt (97%) rename src/test/kotlin/com/fiap/stock/{application => usecases}/services/StockServiceTest.kt (98%) diff --git a/src/test/kotlin/com/fiap/stock/adapter/controller/ComponentControllerTest.kt b/src/test/kotlin/com/fiap/stock/adapter/controller/ComponentControllerTest.kt new file mode 100644 index 0000000..2e0e5f7 --- /dev/null +++ b/src/test/kotlin/com/fiap/stock/adapter/controller/ComponentControllerTest.kt @@ -0,0 +1,4 @@ +package com.fiap.stock.adapter.controller + +class ComponentControllerTest { +} \ No newline at end of file diff --git a/src/test/kotlin/com/fiap/stock/adapter/controller/MenuControllerTest.kt b/src/test/kotlin/com/fiap/stock/adapter/controller/MenuControllerTest.kt new file mode 100644 index 0000000..56f09da --- /dev/null +++ b/src/test/kotlin/com/fiap/stock/adapter/controller/MenuControllerTest.kt @@ -0,0 +1,109 @@ +package com.fiap.stock.adapter.controller + +import com.fiap.stock.domain.valueobjects.ProductCategory +import com.fiap.stock.usecases.LoadProductUseCase +import com.fiap.stock.usecases.SearchProductUseCase +import createProduct +import io.mockk.every +import io.mockk.mockk +import io.mockk.unmockkAll +import org.assertj.core.api.Assertions.assertThat +import org.junit.jupiter.api.AfterEach +import org.junit.jupiter.api.Nested +import org.junit.jupiter.api.Test + +class MenuControllerTest { + private val loadProductUseCase: LoadProductUseCase = mockk() + private val searchProductUseCase: SearchProductUseCase = mockk() + + private val controller = + MenuController( + loadProductUseCase = loadProductUseCase, + searchProductUseCase = searchProductUseCase, + ) + + @AfterEach + fun tearDown() { + unmockkAll() + } + + @Nested + inner class FindFromMenu { + + @Test + fun `findAll should return of all products`() { + val product1 = createProduct(number = 1) + val product2 = createProduct(number = 2) + val product3 = createProduct(number = 3) + + + every { loadProductUseCase.findAll() } returns arrayListOf(product1, product2, product3) + + val products = controller.findAll() + + assertThat(products.statusCode.value()) + .isEqualTo(200) + + assertThat(products.body) + .isNotNull() + .containsExactly(product1, product2, product3) + + } + } + + @Test + fun `findByCategory should return all products belonging to this category`() { + + val product1 = createProduct(number = 1, category = ProductCategory.MAIN) + val product2 = createProduct(number = 2, category = ProductCategory.MAIN) + val product3 = createProduct(number = 3, category = ProductCategory.SIDE) + + every { loadProductUseCase.findByCategory(ProductCategory.MAIN) } returns arrayListOf(product1, product2) + every { loadProductUseCase.findByCategory(ProductCategory.SIDE) } returns arrayListOf(product3) + + val response1 = controller.findByCategory("MAIN") + val response2 = controller.findByCategory("SIDE") + + assertThat(response1.statusCode.value()) + .isEqualTo(200) + + assertThat(response2.statusCode.value()) + .isEqualTo(200) + + assertThat(response1.body) + .isNotNull() + .let { it.allMatch { p -> p.category == ProductCategory.MAIN } } + + assertThat(response2.body) + .isNotNull() + .let { it.allMatch { p -> p.category == ProductCategory.SIDE } } + + } + + @Nested + inner class SearchInMenu { + + @Test + fun `findByCategory should return all products belonging to this category` () { + + val productName = "BATATA" + + val product = createProduct(number = 1, name = productName) + + every { searchProductUseCase.searchByName(productName) } returns arrayListOf(product) + + val response = controller.searchByName(productName) + + assertThat(response.statusCode.value()) + .isEqualTo(200) + + assertThat(response.body) + .isNotNull() + .containsExactly(product) + } + + + } + + +} \ No newline at end of file diff --git a/src/test/kotlin/com/fiap/stock/adapter/controller/ProductControllerTest.kt b/src/test/kotlin/com/fiap/stock/adapter/controller/ProductControllerTest.kt new file mode 100644 index 0000000..c0aa835 --- /dev/null +++ b/src/test/kotlin/com/fiap/stock/adapter/controller/ProductControllerTest.kt @@ -0,0 +1,4 @@ +package com.fiap.stock.adapter.controller + +class ProductControllerTest { +} \ No newline at end of file diff --git a/src/test/kotlin/com/fiap/stock/adapter/controller/StockControllerTest.kt b/src/test/kotlin/com/fiap/stock/adapter/controller/StockControllerTest.kt new file mode 100644 index 0000000..bd9f517 --- /dev/null +++ b/src/test/kotlin/com/fiap/stock/adapter/controller/StockControllerTest.kt @@ -0,0 +1,4 @@ +package com.fiap.stock.adapter.controller + +class StockControllerTest { +} \ No newline at end of file diff --git a/src/test/kotlin/com/fiap/stock/application/services/ComponentServiceTest.kt b/src/test/kotlin/com/fiap/stock/usecases/services/ComponentServiceTest.kt similarity index 98% rename from src/test/kotlin/com/fiap/stock/application/services/ComponentServiceTest.kt rename to src/test/kotlin/com/fiap/stock/usecases/services/ComponentServiceTest.kt index c51d7e3..95fc90b 100644 --- a/src/test/kotlin/com/fiap/stock/application/services/ComponentServiceTest.kt +++ b/src/test/kotlin/com/fiap/stock/usecases/services/ComponentServiceTest.kt @@ -1,4 +1,4 @@ -package com.fiap.stock.application.services +package com.fiap.stock.usecases.services import com.fiap.stock.adapter.gateway.ComponentGateway import com.fiap.stock.adapter.gateway.ProductGateway diff --git a/src/test/kotlin/com/fiap/stock/application/services/ProductServiceTest.kt b/src/test/kotlin/com/fiap/stock/usecases/services/ProductServiceTest.kt similarity index 97% rename from src/test/kotlin/com/fiap/stock/application/services/ProductServiceTest.kt rename to src/test/kotlin/com/fiap/stock/usecases/services/ProductServiceTest.kt index 2850d73..06947ba 100644 --- a/src/test/kotlin/com/fiap/stock/application/services/ProductServiceTest.kt +++ b/src/test/kotlin/com/fiap/stock/usecases/services/ProductServiceTest.kt @@ -1,4 +1,4 @@ -package com.fiap.stock.application.services +package com.fiap.stock.usecases.services import com.fiap.stock.adapter.gateway.ProductGateway import com.fiap.stock.domain.errors.ErrorType diff --git a/src/test/kotlin/com/fiap/stock/application/services/StockServiceTest.kt b/src/test/kotlin/com/fiap/stock/usecases/services/StockServiceTest.kt similarity index 98% rename from src/test/kotlin/com/fiap/stock/application/services/StockServiceTest.kt rename to src/test/kotlin/com/fiap/stock/usecases/services/StockServiceTest.kt index 25ca05a..a202a50 100644 --- a/src/test/kotlin/com/fiap/stock/application/services/StockServiceTest.kt +++ b/src/test/kotlin/com/fiap/stock/usecases/services/StockServiceTest.kt @@ -1,4 +1,4 @@ -package com.fiap.stock.application.services +package com.fiap.stock.usecases.services import com.fiap.stock.adapter.gateway.StockGateway import com.fiap.stock.domain.errors.ErrorType From d6cbe987c2d22a8903e902e822f7e8c030cc1c1f Mon Sep 17 00:00:00 2001 From: Bleno Claus Date: Sun, 19 May 2024 16:49:00 -0300 Subject: [PATCH 02/19] exclude --- pom.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pom.xml b/pom.xml index 9e60e2b..e8869b9 100644 --- a/pom.xml +++ b/pom.xml @@ -370,6 +370,12 @@ org.jacoco jacoco-maven-plugin 0.8.12 + + + **/*Config.* + **/*Mapper.* + + prepare-agent From 97e24f88781f923d2a0a058283695d5618f14f87 Mon Sep 17 00:00:00 2001 From: Bleno Claus Date: Sun, 19 May 2024 17:08:23 -0300 Subject: [PATCH 03/19] fix package --- .../stock/adapter/controller/configuration/ServiceConfig.kt | 2 +- .../{usecases => application}/services/ComponentService.kt | 2 +- .../{usecases => application}/services/ProductService.kt | 0 .../stock/{usecases => application}/services/StockService.kt | 0 .../fiap/stock/adapter/controller/ComponentControllerTest.kt | 4 ---- .../fiap/stock/adapter/controller/ProductControllerTest.kt | 4 ---- .../com/fiap/stock/adapter/controller/StockControllerTest.kt | 4 ---- .../stock/application/controller/ComponentControllerTest.kt | 4 ++++ .../{adapter => application}/controller/MenuControllerTest.kt | 3 ++- .../stock/application/controller/ProductControllerTest.kt | 4 ++++ .../fiap/stock/application/controller/StockControllerTest.kt | 4 ++++ .../services/ComponentServiceTest.kt | 4 ++-- .../{usecases => application}/services/ProductServiceTest.kt | 2 +- .../{usecases => application}/services/StockServiceTest.kt | 2 +- 14 files changed, 20 insertions(+), 19 deletions(-) rename src/main/kotlin/com/fiap/stock/{usecases => application}/services/ComponentService.kt (98%) rename src/main/kotlin/com/fiap/stock/{usecases => application}/services/ProductService.kt (100%) rename src/main/kotlin/com/fiap/stock/{usecases => application}/services/StockService.kt (100%) delete mode 100644 src/test/kotlin/com/fiap/stock/adapter/controller/ComponentControllerTest.kt delete mode 100644 src/test/kotlin/com/fiap/stock/adapter/controller/ProductControllerTest.kt delete mode 100644 src/test/kotlin/com/fiap/stock/adapter/controller/StockControllerTest.kt create mode 100644 src/test/kotlin/com/fiap/stock/application/controller/ComponentControllerTest.kt rename src/test/kotlin/com/fiap/stock/{adapter => application}/controller/MenuControllerTest.kt (96%) create mode 100644 src/test/kotlin/com/fiap/stock/application/controller/ProductControllerTest.kt create mode 100644 src/test/kotlin/com/fiap/stock/application/controller/StockControllerTest.kt rename src/test/kotlin/com/fiap/stock/{usecases => application}/services/ComponentServiceTest.kt (96%) rename src/test/kotlin/com/fiap/stock/{usecases => application}/services/ProductServiceTest.kt (97%) rename src/test/kotlin/com/fiap/stock/{usecases => application}/services/StockServiceTest.kt (98%) diff --git a/src/main/kotlin/com/fiap/stock/adapter/controller/configuration/ServiceConfig.kt b/src/main/kotlin/com/fiap/stock/adapter/controller/configuration/ServiceConfig.kt index 92aa499..5515ac0 100644 --- a/src/main/kotlin/com/fiap/stock/adapter/controller/configuration/ServiceConfig.kt +++ b/src/main/kotlin/com/fiap/stock/adapter/controller/configuration/ServiceConfig.kt @@ -5,7 +5,7 @@ import com.fiap.stock.adapter.gateway.ComponentGateway import com.fiap.stock.adapter.gateway.ProductGateway import com.fiap.stock.adapter.gateway.StockGateway import com.fiap.stock.usecases.LoadComponentUseCase -import com.fiap.stock.usecases.services.ComponentService +import com.fiap.stock.application.services.ComponentService import org.springframework.context.annotation.Bean import org.springframework.context.annotation.ComponentScan import org.springframework.context.annotation.Configuration diff --git a/src/main/kotlin/com/fiap/stock/usecases/services/ComponentService.kt b/src/main/kotlin/com/fiap/stock/application/services/ComponentService.kt similarity index 98% rename from src/main/kotlin/com/fiap/stock/usecases/services/ComponentService.kt rename to src/main/kotlin/com/fiap/stock/application/services/ComponentService.kt index 90f06b7..6ab0a45 100644 --- a/src/main/kotlin/com/fiap/stock/usecases/services/ComponentService.kt +++ b/src/main/kotlin/com/fiap/stock/application/services/ComponentService.kt @@ -1,4 +1,4 @@ -package com.fiap.stock.usecases.services +package com.fiap.stock.application.services import com.fiap.stock.adapter.gateway.ComponentGateway import com.fiap.stock.adapter.gateway.ProductGateway diff --git a/src/main/kotlin/com/fiap/stock/usecases/services/ProductService.kt b/src/main/kotlin/com/fiap/stock/application/services/ProductService.kt similarity index 100% rename from src/main/kotlin/com/fiap/stock/usecases/services/ProductService.kt rename to src/main/kotlin/com/fiap/stock/application/services/ProductService.kt diff --git a/src/main/kotlin/com/fiap/stock/usecases/services/StockService.kt b/src/main/kotlin/com/fiap/stock/application/services/StockService.kt similarity index 100% rename from src/main/kotlin/com/fiap/stock/usecases/services/StockService.kt rename to src/main/kotlin/com/fiap/stock/application/services/StockService.kt diff --git a/src/test/kotlin/com/fiap/stock/adapter/controller/ComponentControllerTest.kt b/src/test/kotlin/com/fiap/stock/adapter/controller/ComponentControllerTest.kt deleted file mode 100644 index 2e0e5f7..0000000 --- a/src/test/kotlin/com/fiap/stock/adapter/controller/ComponentControllerTest.kt +++ /dev/null @@ -1,4 +0,0 @@ -package com.fiap.stock.adapter.controller - -class ComponentControllerTest { -} \ No newline at end of file diff --git a/src/test/kotlin/com/fiap/stock/adapter/controller/ProductControllerTest.kt b/src/test/kotlin/com/fiap/stock/adapter/controller/ProductControllerTest.kt deleted file mode 100644 index c0aa835..0000000 --- a/src/test/kotlin/com/fiap/stock/adapter/controller/ProductControllerTest.kt +++ /dev/null @@ -1,4 +0,0 @@ -package com.fiap.stock.adapter.controller - -class ProductControllerTest { -} \ No newline at end of file diff --git a/src/test/kotlin/com/fiap/stock/adapter/controller/StockControllerTest.kt b/src/test/kotlin/com/fiap/stock/adapter/controller/StockControllerTest.kt deleted file mode 100644 index bd9f517..0000000 --- a/src/test/kotlin/com/fiap/stock/adapter/controller/StockControllerTest.kt +++ /dev/null @@ -1,4 +0,0 @@ -package com.fiap.stock.adapter.controller - -class StockControllerTest { -} \ No newline at end of file diff --git a/src/test/kotlin/com/fiap/stock/application/controller/ComponentControllerTest.kt b/src/test/kotlin/com/fiap/stock/application/controller/ComponentControllerTest.kt new file mode 100644 index 0000000..61af938 --- /dev/null +++ b/src/test/kotlin/com/fiap/stock/application/controller/ComponentControllerTest.kt @@ -0,0 +1,4 @@ +package com.fiap.stock.application.controller + +class ComponentControllerTest { +} \ No newline at end of file diff --git a/src/test/kotlin/com/fiap/stock/adapter/controller/MenuControllerTest.kt b/src/test/kotlin/com/fiap/stock/application/controller/MenuControllerTest.kt similarity index 96% rename from src/test/kotlin/com/fiap/stock/adapter/controller/MenuControllerTest.kt rename to src/test/kotlin/com/fiap/stock/application/controller/MenuControllerTest.kt index 56f09da..82c978f 100644 --- a/src/test/kotlin/com/fiap/stock/adapter/controller/MenuControllerTest.kt +++ b/src/test/kotlin/com/fiap/stock/application/controller/MenuControllerTest.kt @@ -1,5 +1,6 @@ -package com.fiap.stock.adapter.controller +package com.fiap.stock.application.controller +import com.fiap.stock.adapter.controller.MenuController import com.fiap.stock.domain.valueobjects.ProductCategory import com.fiap.stock.usecases.LoadProductUseCase import com.fiap.stock.usecases.SearchProductUseCase diff --git a/src/test/kotlin/com/fiap/stock/application/controller/ProductControllerTest.kt b/src/test/kotlin/com/fiap/stock/application/controller/ProductControllerTest.kt new file mode 100644 index 0000000..aa88cb2 --- /dev/null +++ b/src/test/kotlin/com/fiap/stock/application/controller/ProductControllerTest.kt @@ -0,0 +1,4 @@ +package com.fiap.stock.application.controller + +class ProductControllerTest { +} \ No newline at end of file diff --git a/src/test/kotlin/com/fiap/stock/application/controller/StockControllerTest.kt b/src/test/kotlin/com/fiap/stock/application/controller/StockControllerTest.kt new file mode 100644 index 0000000..f12d1b7 --- /dev/null +++ b/src/test/kotlin/com/fiap/stock/application/controller/StockControllerTest.kt @@ -0,0 +1,4 @@ +package com.fiap.stock.application.controller + +class StockControllerTest { +} \ No newline at end of file diff --git a/src/test/kotlin/com/fiap/stock/usecases/services/ComponentServiceTest.kt b/src/test/kotlin/com/fiap/stock/application/services/ComponentServiceTest.kt similarity index 96% rename from src/test/kotlin/com/fiap/stock/usecases/services/ComponentServiceTest.kt rename to src/test/kotlin/com/fiap/stock/application/services/ComponentServiceTest.kt index 95fc90b..35e6c41 100644 --- a/src/test/kotlin/com/fiap/stock/usecases/services/ComponentServiceTest.kt +++ b/src/test/kotlin/com/fiap/stock/application/services/ComponentServiceTest.kt @@ -1,11 +1,11 @@ -package com.fiap.stock.usecases.services +package com.fiap.stock.application.services import com.fiap.stock.adapter.gateway.ComponentGateway import com.fiap.stock.adapter.gateway.ProductGateway import com.fiap.stock.adapter.gateway.StockGateway import com.fiap.stock.domain.errors.ErrorType import com.fiap.stock.domain.errors.SelfOrderManagementException -import com.fiap.stock.usecases.services.ComponentService +import com.fiap.stock.application.services.ComponentService import createComponent import createProduct import io.mockk.every diff --git a/src/test/kotlin/com/fiap/stock/usecases/services/ProductServiceTest.kt b/src/test/kotlin/com/fiap/stock/application/services/ProductServiceTest.kt similarity index 97% rename from src/test/kotlin/com/fiap/stock/usecases/services/ProductServiceTest.kt rename to src/test/kotlin/com/fiap/stock/application/services/ProductServiceTest.kt index 06947ba..2850d73 100644 --- a/src/test/kotlin/com/fiap/stock/usecases/services/ProductServiceTest.kt +++ b/src/test/kotlin/com/fiap/stock/application/services/ProductServiceTest.kt @@ -1,4 +1,4 @@ -package com.fiap.stock.usecases.services +package com.fiap.stock.application.services import com.fiap.stock.adapter.gateway.ProductGateway import com.fiap.stock.domain.errors.ErrorType diff --git a/src/test/kotlin/com/fiap/stock/usecases/services/StockServiceTest.kt b/src/test/kotlin/com/fiap/stock/application/services/StockServiceTest.kt similarity index 98% rename from src/test/kotlin/com/fiap/stock/usecases/services/StockServiceTest.kt rename to src/test/kotlin/com/fiap/stock/application/services/StockServiceTest.kt index a202a50..25ca05a 100644 --- a/src/test/kotlin/com/fiap/stock/usecases/services/StockServiceTest.kt +++ b/src/test/kotlin/com/fiap/stock/application/services/StockServiceTest.kt @@ -1,4 +1,4 @@ -package com.fiap.stock.usecases.services +package com.fiap.stock.application.services import com.fiap.stock.adapter.gateway.StockGateway import com.fiap.stock.domain.errors.ErrorType From 4251a20c4c1ade756f7507192e66966e7c71ed85 Mon Sep 17 00:00:00 2001 From: Bleno Claus Date: Sun, 19 May 2024 17:18:45 -0300 Subject: [PATCH 04/19] fix package --- .../fiap/stock/adapter/controller/ComponentControllerTest.kt | 4 ++++ .../{application => adapter}/controller/MenuControllerTest.kt | 2 +- .../fiap/stock/adapter/controller/ProductControllerTest.kt | 4 ++++ .../com/fiap/stock/adapter/controller/StockControllerTest.kt | 4 ++++ .../stock/application/controller/ComponentControllerTest.kt | 4 ---- .../stock/application/controller/ProductControllerTest.kt | 4 ---- .../fiap/stock/application/controller/StockControllerTest.kt | 4 ---- 7 files changed, 13 insertions(+), 13 deletions(-) create mode 100644 src/test/kotlin/com/fiap/stock/adapter/controller/ComponentControllerTest.kt rename src/test/kotlin/com/fiap/stock/{application => adapter}/controller/MenuControllerTest.kt (98%) create mode 100644 src/test/kotlin/com/fiap/stock/adapter/controller/ProductControllerTest.kt create mode 100644 src/test/kotlin/com/fiap/stock/adapter/controller/StockControllerTest.kt delete mode 100644 src/test/kotlin/com/fiap/stock/application/controller/ComponentControllerTest.kt delete mode 100644 src/test/kotlin/com/fiap/stock/application/controller/ProductControllerTest.kt delete mode 100644 src/test/kotlin/com/fiap/stock/application/controller/StockControllerTest.kt diff --git a/src/test/kotlin/com/fiap/stock/adapter/controller/ComponentControllerTest.kt b/src/test/kotlin/com/fiap/stock/adapter/controller/ComponentControllerTest.kt new file mode 100644 index 0000000..2e0e5f7 --- /dev/null +++ b/src/test/kotlin/com/fiap/stock/adapter/controller/ComponentControllerTest.kt @@ -0,0 +1,4 @@ +package com.fiap.stock.adapter.controller + +class ComponentControllerTest { +} \ No newline at end of file diff --git a/src/test/kotlin/com/fiap/stock/application/controller/MenuControllerTest.kt b/src/test/kotlin/com/fiap/stock/adapter/controller/MenuControllerTest.kt similarity index 98% rename from src/test/kotlin/com/fiap/stock/application/controller/MenuControllerTest.kt rename to src/test/kotlin/com/fiap/stock/adapter/controller/MenuControllerTest.kt index 82c978f..dba6512 100644 --- a/src/test/kotlin/com/fiap/stock/application/controller/MenuControllerTest.kt +++ b/src/test/kotlin/com/fiap/stock/adapter/controller/MenuControllerTest.kt @@ -1,4 +1,4 @@ -package com.fiap.stock.application.controller +package com.fiap.stock.adapter.controller import com.fiap.stock.adapter.controller.MenuController import com.fiap.stock.domain.valueobjects.ProductCategory diff --git a/src/test/kotlin/com/fiap/stock/adapter/controller/ProductControllerTest.kt b/src/test/kotlin/com/fiap/stock/adapter/controller/ProductControllerTest.kt new file mode 100644 index 0000000..c0aa835 --- /dev/null +++ b/src/test/kotlin/com/fiap/stock/adapter/controller/ProductControllerTest.kt @@ -0,0 +1,4 @@ +package com.fiap.stock.adapter.controller + +class ProductControllerTest { +} \ No newline at end of file diff --git a/src/test/kotlin/com/fiap/stock/adapter/controller/StockControllerTest.kt b/src/test/kotlin/com/fiap/stock/adapter/controller/StockControllerTest.kt new file mode 100644 index 0000000..bd9f517 --- /dev/null +++ b/src/test/kotlin/com/fiap/stock/adapter/controller/StockControllerTest.kt @@ -0,0 +1,4 @@ +package com.fiap.stock.adapter.controller + +class StockControllerTest { +} \ No newline at end of file diff --git a/src/test/kotlin/com/fiap/stock/application/controller/ComponentControllerTest.kt b/src/test/kotlin/com/fiap/stock/application/controller/ComponentControllerTest.kt deleted file mode 100644 index 61af938..0000000 --- a/src/test/kotlin/com/fiap/stock/application/controller/ComponentControllerTest.kt +++ /dev/null @@ -1,4 +0,0 @@ -package com.fiap.stock.application.controller - -class ComponentControllerTest { -} \ No newline at end of file diff --git a/src/test/kotlin/com/fiap/stock/application/controller/ProductControllerTest.kt b/src/test/kotlin/com/fiap/stock/application/controller/ProductControllerTest.kt deleted file mode 100644 index aa88cb2..0000000 --- a/src/test/kotlin/com/fiap/stock/application/controller/ProductControllerTest.kt +++ /dev/null @@ -1,4 +0,0 @@ -package com.fiap.stock.application.controller - -class ProductControllerTest { -} \ No newline at end of file diff --git a/src/test/kotlin/com/fiap/stock/application/controller/StockControllerTest.kt b/src/test/kotlin/com/fiap/stock/application/controller/StockControllerTest.kt deleted file mode 100644 index f12d1b7..0000000 --- a/src/test/kotlin/com/fiap/stock/application/controller/StockControllerTest.kt +++ /dev/null @@ -1,4 +0,0 @@ -package com.fiap.stock.application.controller - -class StockControllerTest { -} \ No newline at end of file From c49d5fbb20b30dccb32789f9e3152bf84495cfb0 Mon Sep 17 00:00:00 2001 From: Bleno Claus Date: Sun, 19 May 2024 17:43:21 -0300 Subject: [PATCH 05/19] fix package --- .../adapter/controller/ComponentController.kt | 2 +- .../adapter/controller/MenuController.kt | 2 +- .../adapter/controller/ProductController.kt | 2 +- .../adapter/controller/StockController.kt | 2 +- .../configuration/ControllerExceptionHandler.kt | 2 +- .../controller/configuration/ServiceConfig.kt | 8 ++++---- .../adapter/gateway/ComponentGateway.kt | 2 +- .../adapter/gateway/ProductGateway.kt | 2 +- .../adapter/gateway/StockGateway.kt | 2 +- .../adapter/gateway/TransactionalGateway.kt | 2 +- .../adapter/gateway/impl/ComponentGatewayImpl.kt | 4 ++-- .../adapter/gateway/impl/ProductGatewayImpl.kt | 4 ++-- .../adapter/gateway/impl/StockGatewayImpl.kt | 4 ++-- .../gateway/impl/TransactionalGatewayImpl.kt | 4 ++-- .../application/services/ComponentService.kt | 6 +++--- .../stock/application/services/ProductService.kt | 2 +- .../stock/application/services/StockService.kt | 2 +- .../database/configuration/GatewayConfig.kt | 16 ++++++++-------- .../adapter/controller/MenuControllerTest.kt | 2 +- .../application/services/ComponentServiceTest.kt | 6 +++--- .../application/services/ProductServiceTest.kt | 2 +- .../application/services/StockServiceTest.kt | 2 +- 22 files changed, 40 insertions(+), 40 deletions(-) rename src/main/kotlin/com/fiap/stock/{ => application}/adapter/controller/ComponentController.kt (96%) rename src/main/kotlin/com/fiap/stock/{ => application}/adapter/controller/MenuController.kt (94%) rename src/main/kotlin/com/fiap/stock/{ => application}/adapter/controller/ProductController.kt (98%) rename src/main/kotlin/com/fiap/stock/{ => application}/adapter/controller/StockController.kt (94%) rename src/main/kotlin/com/fiap/stock/{ => application}/adapter/controller/configuration/ControllerExceptionHandler.kt (97%) rename src/main/kotlin/com/fiap/stock/{ => application}/adapter/controller/configuration/ServiceConfig.kt (82%) rename src/main/kotlin/com/fiap/stock/{ => application}/adapter/gateway/ComponentGateway.kt (88%) rename src/main/kotlin/com/fiap/stock/{ => application}/adapter/gateway/ProductGateway.kt (90%) rename src/main/kotlin/com/fiap/stock/{ => application}/adapter/gateway/StockGateway.kt (80%) rename src/main/kotlin/com/fiap/stock/{ => application}/adapter/gateway/TransactionalGateway.kt (60%) rename src/main/kotlin/com/fiap/stock/{ => application}/adapter/gateway/impl/ComponentGatewayImpl.kt (95%) rename src/main/kotlin/com/fiap/stock/{ => application}/adapter/gateway/impl/ProductGatewayImpl.kt (95%) rename src/main/kotlin/com/fiap/stock/{ => application}/adapter/gateway/impl/StockGatewayImpl.kt (93%) rename src/main/kotlin/com/fiap/stock/{ => application}/adapter/gateway/impl/TransactionalGatewayImpl.kt (64%) diff --git a/src/main/kotlin/com/fiap/stock/adapter/controller/ComponentController.kt b/src/main/kotlin/com/fiap/stock/application/adapter/controller/ComponentController.kt similarity index 96% rename from src/main/kotlin/com/fiap/stock/adapter/controller/ComponentController.kt rename to src/main/kotlin/com/fiap/stock/application/adapter/controller/ComponentController.kt index 8074b3f..cc9ec98 100644 --- a/src/main/kotlin/com/fiap/stock/adapter/controller/ComponentController.kt +++ b/src/main/kotlin/com/fiap/stock/application/adapter/controller/ComponentController.kt @@ -1,4 +1,4 @@ -package com.fiap.stock.adapter.controller +package com.fiap.stock.application.adapter.controller import com.fiap.stock.domain.entities.Component import com.fiap.stock.driver.web.ComponentAPI diff --git a/src/main/kotlin/com/fiap/stock/adapter/controller/MenuController.kt b/src/main/kotlin/com/fiap/stock/application/adapter/controller/MenuController.kt similarity index 94% rename from src/main/kotlin/com/fiap/stock/adapter/controller/MenuController.kt rename to src/main/kotlin/com/fiap/stock/application/adapter/controller/MenuController.kt index 5274d1c..00bc158 100644 --- a/src/main/kotlin/com/fiap/stock/adapter/controller/MenuController.kt +++ b/src/main/kotlin/com/fiap/stock/application/adapter/controller/MenuController.kt @@ -1,4 +1,4 @@ -package com.fiap.stock.adapter.controller +package com.fiap.stock.application.adapter.controller import com.fiap.stock.domain.entities.Product import com.fiap.stock.domain.valueobjects.ProductCategory diff --git a/src/main/kotlin/com/fiap/stock/adapter/controller/ProductController.kt b/src/main/kotlin/com/fiap/stock/application/adapter/controller/ProductController.kt similarity index 98% rename from src/main/kotlin/com/fiap/stock/adapter/controller/ProductController.kt rename to src/main/kotlin/com/fiap/stock/application/adapter/controller/ProductController.kt index 72edc53..73e67a1 100644 --- a/src/main/kotlin/com/fiap/stock/adapter/controller/ProductController.kt +++ b/src/main/kotlin/com/fiap/stock/application/adapter/controller/ProductController.kt @@ -1,4 +1,4 @@ -package com.fiap.stock.adapter.controller +package com.fiap.stock.application.adapter.controller import com.fiap.stock.domain.entities.Product import com.fiap.stock.domain.valueobjects.ProductCategory diff --git a/src/main/kotlin/com/fiap/stock/adapter/controller/StockController.kt b/src/main/kotlin/com/fiap/stock/application/adapter/controller/StockController.kt similarity index 94% rename from src/main/kotlin/com/fiap/stock/adapter/controller/StockController.kt rename to src/main/kotlin/com/fiap/stock/application/adapter/controller/StockController.kt index baca4dd..b8a4bff 100644 --- a/src/main/kotlin/com/fiap/stock/adapter/controller/StockController.kt +++ b/src/main/kotlin/com/fiap/stock/application/adapter/controller/StockController.kt @@ -1,4 +1,4 @@ -package com.fiap.stock.adapter.controller +package com.fiap.stock.application.adapter.controller import com.fiap.stock.domain.entities.Stock import com.fiap.stock.driver.web.StockAPI diff --git a/src/main/kotlin/com/fiap/stock/adapter/controller/configuration/ControllerExceptionHandler.kt b/src/main/kotlin/com/fiap/stock/application/adapter/controller/configuration/ControllerExceptionHandler.kt similarity index 97% rename from src/main/kotlin/com/fiap/stock/adapter/controller/configuration/ControllerExceptionHandler.kt rename to src/main/kotlin/com/fiap/stock/application/adapter/controller/configuration/ControllerExceptionHandler.kt index aa10b31..5123428 100644 --- a/src/main/kotlin/com/fiap/stock/adapter/controller/configuration/ControllerExceptionHandler.kt +++ b/src/main/kotlin/com/fiap/stock/application/adapter/controller/configuration/ControllerExceptionHandler.kt @@ -1,4 +1,4 @@ -package com.fiap.stock.adapter.controller.configuration +package com.fiap.stock.application.adapter.controller.configuration import com.fiap.stock.domain.errors.ErrorType import com.fiap.stock.domain.errors.SelfOrderManagementException diff --git a/src/main/kotlin/com/fiap/stock/adapter/controller/configuration/ServiceConfig.kt b/src/main/kotlin/com/fiap/stock/application/adapter/controller/configuration/ServiceConfig.kt similarity index 82% rename from src/main/kotlin/com/fiap/stock/adapter/controller/configuration/ServiceConfig.kt rename to src/main/kotlin/com/fiap/stock/application/adapter/controller/configuration/ServiceConfig.kt index 5515ac0..cf76ddb 100644 --- a/src/main/kotlin/com/fiap/stock/adapter/controller/configuration/ServiceConfig.kt +++ b/src/main/kotlin/com/fiap/stock/application/adapter/controller/configuration/ServiceConfig.kt @@ -1,9 +1,9 @@ -package com.fiap.stock.adapter.controller.configuration +package com.fiap.stock.application.adapter.controller.configuration import com.fiap.stock.StockApiApp -import com.fiap.stock.adapter.gateway.ComponentGateway -import com.fiap.stock.adapter.gateway.ProductGateway -import com.fiap.stock.adapter.gateway.StockGateway +import com.fiap.stock.application.adapter.gateway.ComponentGateway +import com.fiap.stock.application.adapter.gateway.ProductGateway +import com.fiap.stock.application.adapter.gateway.StockGateway import com.fiap.stock.usecases.LoadComponentUseCase import com.fiap.stock.application.services.ComponentService import org.springframework.context.annotation.Bean diff --git a/src/main/kotlin/com/fiap/stock/adapter/gateway/ComponentGateway.kt b/src/main/kotlin/com/fiap/stock/application/adapter/gateway/ComponentGateway.kt similarity index 88% rename from src/main/kotlin/com/fiap/stock/adapter/gateway/ComponentGateway.kt rename to src/main/kotlin/com/fiap/stock/application/adapter/gateway/ComponentGateway.kt index 3ab445f..4f34762 100644 --- a/src/main/kotlin/com/fiap/stock/adapter/gateway/ComponentGateway.kt +++ b/src/main/kotlin/com/fiap/stock/application/adapter/gateway/ComponentGateway.kt @@ -1,4 +1,4 @@ -package com.fiap.stock.adapter.gateway +package com.fiap.stock.application.adapter.gateway import com.fiap.stock.domain.entities.Component diff --git a/src/main/kotlin/com/fiap/stock/adapter/gateway/ProductGateway.kt b/src/main/kotlin/com/fiap/stock/application/adapter/gateway/ProductGateway.kt similarity index 90% rename from src/main/kotlin/com/fiap/stock/adapter/gateway/ProductGateway.kt rename to src/main/kotlin/com/fiap/stock/application/adapter/gateway/ProductGateway.kt index 3266326..6419cb2 100644 --- a/src/main/kotlin/com/fiap/stock/adapter/gateway/ProductGateway.kt +++ b/src/main/kotlin/com/fiap/stock/application/adapter/gateway/ProductGateway.kt @@ -1,4 +1,4 @@ -package com.fiap.stock.adapter.gateway +package com.fiap.stock.application.adapter.gateway import com.fiap.stock.domain.entities.Product import com.fiap.stock.domain.valueobjects.ProductCategory diff --git a/src/main/kotlin/com/fiap/stock/adapter/gateway/StockGateway.kt b/src/main/kotlin/com/fiap/stock/application/adapter/gateway/StockGateway.kt similarity index 80% rename from src/main/kotlin/com/fiap/stock/adapter/gateway/StockGateway.kt rename to src/main/kotlin/com/fiap/stock/application/adapter/gateway/StockGateway.kt index 5bb1df2..aa39d1a 100644 --- a/src/main/kotlin/com/fiap/stock/adapter/gateway/StockGateway.kt +++ b/src/main/kotlin/com/fiap/stock/application/adapter/gateway/StockGateway.kt @@ -1,4 +1,4 @@ -package com.fiap.stock.adapter.gateway +package com.fiap.stock.application.adapter.gateway import com.fiap.stock.domain.entities.Stock diff --git a/src/main/kotlin/com/fiap/stock/adapter/gateway/TransactionalGateway.kt b/src/main/kotlin/com/fiap/stock/application/adapter/gateway/TransactionalGateway.kt similarity index 60% rename from src/main/kotlin/com/fiap/stock/adapter/gateway/TransactionalGateway.kt rename to src/main/kotlin/com/fiap/stock/application/adapter/gateway/TransactionalGateway.kt index 1a74b05..eff083c 100644 --- a/src/main/kotlin/com/fiap/stock/adapter/gateway/TransactionalGateway.kt +++ b/src/main/kotlin/com/fiap/stock/application/adapter/gateway/TransactionalGateway.kt @@ -1,4 +1,4 @@ -package com.fiap.stock.adapter.gateway +package com.fiap.stock.application.adapter.gateway interface TransactionalGateway { fun transaction(code: () -> T): T diff --git a/src/main/kotlin/com/fiap/stock/adapter/gateway/impl/ComponentGatewayImpl.kt b/src/main/kotlin/com/fiap/stock/application/adapter/gateway/impl/ComponentGatewayImpl.kt similarity index 95% rename from src/main/kotlin/com/fiap/stock/adapter/gateway/impl/ComponentGatewayImpl.kt rename to src/main/kotlin/com/fiap/stock/application/adapter/gateway/impl/ComponentGatewayImpl.kt index 58e6e1d..04a5fde 100644 --- a/src/main/kotlin/com/fiap/stock/adapter/gateway/impl/ComponentGatewayImpl.kt +++ b/src/main/kotlin/com/fiap/stock/application/adapter/gateway/impl/ComponentGatewayImpl.kt @@ -1,6 +1,6 @@ -package com.fiap.stock.adapter.gateway.impl +package com.fiap.stock.application.adapter.gateway.impl -import com.fiap.stock.adapter.gateway.ComponentGateway +import com.fiap.stock.application.adapter.gateway.ComponentGateway import com.fiap.stock.domain.entities.Component import com.fiap.stock.domain.errors.ErrorType import com.fiap.stock.domain.errors.SelfOrderManagementException diff --git a/src/main/kotlin/com/fiap/stock/adapter/gateway/impl/ProductGatewayImpl.kt b/src/main/kotlin/com/fiap/stock/application/adapter/gateway/impl/ProductGatewayImpl.kt similarity index 95% rename from src/main/kotlin/com/fiap/stock/adapter/gateway/impl/ProductGatewayImpl.kt rename to src/main/kotlin/com/fiap/stock/application/adapter/gateway/impl/ProductGatewayImpl.kt index 5cc6f65..f2c317d 100644 --- a/src/main/kotlin/com/fiap/stock/adapter/gateway/impl/ProductGatewayImpl.kt +++ b/src/main/kotlin/com/fiap/stock/application/adapter/gateway/impl/ProductGatewayImpl.kt @@ -1,6 +1,6 @@ -package com.fiap.stock.adapter.gateway.impl +package com.fiap.stock.application.adapter.gateway.impl -import com.fiap.stock.adapter.gateway.ProductGateway +import com.fiap.stock.application.adapter.gateway.ProductGateway import com.fiap.stock.domain.entities.Product import com.fiap.stock.domain.errors.ErrorType import com.fiap.stock.domain.errors.SelfOrderManagementException diff --git a/src/main/kotlin/com/fiap/stock/adapter/gateway/impl/StockGatewayImpl.kt b/src/main/kotlin/com/fiap/stock/application/adapter/gateway/impl/StockGatewayImpl.kt similarity index 93% rename from src/main/kotlin/com/fiap/stock/adapter/gateway/impl/StockGatewayImpl.kt rename to src/main/kotlin/com/fiap/stock/application/adapter/gateway/impl/StockGatewayImpl.kt index df62e6b..2d7226d 100644 --- a/src/main/kotlin/com/fiap/stock/adapter/gateway/impl/StockGatewayImpl.kt +++ b/src/main/kotlin/com/fiap/stock/application/adapter/gateway/impl/StockGatewayImpl.kt @@ -1,6 +1,6 @@ -package com.fiap.stock.adapter.gateway.impl +package com.fiap.stock.application.adapter.gateway.impl -import com.fiap.stock.adapter.gateway.StockGateway +import com.fiap.stock.application.adapter.gateway.StockGateway import com.fiap.stock.domain.entities.Stock import com.fiap.stock.domain.errors.ErrorType import com.fiap.stock.domain.errors.SelfOrderManagementException diff --git a/src/main/kotlin/com/fiap/stock/adapter/gateway/impl/TransactionalGatewayImpl.kt b/src/main/kotlin/com/fiap/stock/application/adapter/gateway/impl/TransactionalGatewayImpl.kt similarity index 64% rename from src/main/kotlin/com/fiap/stock/adapter/gateway/impl/TransactionalGatewayImpl.kt rename to src/main/kotlin/com/fiap/stock/application/adapter/gateway/impl/TransactionalGatewayImpl.kt index 8f699c9..d7d2d3e 100644 --- a/src/main/kotlin/com/fiap/stock/adapter/gateway/impl/TransactionalGatewayImpl.kt +++ b/src/main/kotlin/com/fiap/stock/application/adapter/gateway/impl/TransactionalGatewayImpl.kt @@ -1,6 +1,6 @@ -package com.fiap.stock.adapter.gateway.impl +package com.fiap.stock.application.adapter.gateway.impl -import com.fiap.stock.adapter.gateway.TransactionalGateway +import com.fiap.stock.application.adapter.gateway.TransactionalGateway import org.springframework.transaction.annotation.Transactional open class TransactionalGatewayImpl : TransactionalGateway { diff --git a/src/main/kotlin/com/fiap/stock/application/services/ComponentService.kt b/src/main/kotlin/com/fiap/stock/application/services/ComponentService.kt index 6ab0a45..5ec119f 100644 --- a/src/main/kotlin/com/fiap/stock/application/services/ComponentService.kt +++ b/src/main/kotlin/com/fiap/stock/application/services/ComponentService.kt @@ -1,8 +1,8 @@ package com.fiap.stock.application.services -import com.fiap.stock.adapter.gateway.ComponentGateway -import com.fiap.stock.adapter.gateway.ProductGateway -import com.fiap.stock.adapter.gateway.StockGateway +import com.fiap.stock.application.adapter.gateway.ComponentGateway +import com.fiap.stock.application.adapter.gateway.ProductGateway +import com.fiap.stock.application.adapter.gateway.StockGateway import com.fiap.stock.domain.entities.Component import com.fiap.stock.domain.entities.Stock import com.fiap.stock.domain.errors.ErrorType diff --git a/src/main/kotlin/com/fiap/stock/application/services/ProductService.kt b/src/main/kotlin/com/fiap/stock/application/services/ProductService.kt index 0faceeb..03b931a 100644 --- a/src/main/kotlin/com/fiap/stock/application/services/ProductService.kt +++ b/src/main/kotlin/com/fiap/stock/application/services/ProductService.kt @@ -1,6 +1,6 @@ package services -import com.fiap.stock.adapter.gateway.ProductGateway +import com.fiap.stock.application.adapter.gateway.ProductGateway import com.fiap.stock.domain.entities.Product import com.fiap.stock.domain.errors.ErrorType import com.fiap.stock.domain.errors.SelfOrderManagementException diff --git a/src/main/kotlin/com/fiap/stock/application/services/StockService.kt b/src/main/kotlin/com/fiap/stock/application/services/StockService.kt index 8ce96e9..b96c705 100644 --- a/src/main/kotlin/com/fiap/stock/application/services/StockService.kt +++ b/src/main/kotlin/com/fiap/stock/application/services/StockService.kt @@ -1,6 +1,6 @@ package services -import com.fiap.stock.adapter.gateway.StockGateway +import com.fiap.stock.application.adapter.gateway.StockGateway import com.fiap.stock.domain.entities.Stock import com.fiap.stock.domain.errors.ErrorType import com.fiap.stock.domain.errors.SelfOrderManagementException diff --git a/src/main/kotlin/com/fiap/stock/driver/database/configuration/GatewayConfig.kt b/src/main/kotlin/com/fiap/stock/driver/database/configuration/GatewayConfig.kt index 7b59450..5f09cff 100644 --- a/src/main/kotlin/com/fiap/stock/driver/database/configuration/GatewayConfig.kt +++ b/src/main/kotlin/com/fiap/stock/driver/database/configuration/GatewayConfig.kt @@ -1,14 +1,14 @@ package com.fiap.stock.driver.database.configuration import com.fiap.stock.StockApiApp -import com.fiap.stock.adapter.gateway.ComponentGateway -import com.fiap.stock.adapter.gateway.ProductGateway -import com.fiap.stock.adapter.gateway.StockGateway -import com.fiap.stock.adapter.gateway.TransactionalGateway -import com.fiap.stock.adapter.gateway.impl.ComponentGatewayImpl -import com.fiap.stock.adapter.gateway.impl.ProductGatewayImpl -import com.fiap.stock.adapter.gateway.impl.StockGatewayImpl -import com.fiap.stock.adapter.gateway.impl.TransactionalGatewayImpl +import com.fiap.stock.application.adapter.gateway.ComponentGateway +import com.fiap.stock.application.adapter.gateway.ProductGateway +import com.fiap.stock.application.adapter.gateway.StockGateway +import com.fiap.stock.application.adapter.gateway.TransactionalGateway +import com.fiap.stock.application.adapter.gateway.impl.ComponentGatewayImpl +import com.fiap.stock.application.adapter.gateway.impl.ProductGatewayImpl +import com.fiap.stock.application.adapter.gateway.impl.StockGatewayImpl +import com.fiap.stock.application.adapter.gateway.impl.TransactionalGatewayImpl import com.fiap.stock.driver.database.persistence.jpa.ComponentJpaRepository import com.fiap.stock.driver.database.persistence.jpa.ProductJpaRepository import com.fiap.stock.driver.database.persistence.jpa.StockJpaRepository diff --git a/src/test/kotlin/com/fiap/stock/adapter/controller/MenuControllerTest.kt b/src/test/kotlin/com/fiap/stock/adapter/controller/MenuControllerTest.kt index dba6512..f329ada 100644 --- a/src/test/kotlin/com/fiap/stock/adapter/controller/MenuControllerTest.kt +++ b/src/test/kotlin/com/fiap/stock/adapter/controller/MenuControllerTest.kt @@ -1,6 +1,6 @@ package com.fiap.stock.adapter.controller -import com.fiap.stock.adapter.controller.MenuController +import com.fiap.stock.application.adapter.controller.MenuController import com.fiap.stock.domain.valueobjects.ProductCategory import com.fiap.stock.usecases.LoadProductUseCase import com.fiap.stock.usecases.SearchProductUseCase diff --git a/src/test/kotlin/com/fiap/stock/application/services/ComponentServiceTest.kt b/src/test/kotlin/com/fiap/stock/application/services/ComponentServiceTest.kt index 35e6c41..14a5be4 100644 --- a/src/test/kotlin/com/fiap/stock/application/services/ComponentServiceTest.kt +++ b/src/test/kotlin/com/fiap/stock/application/services/ComponentServiceTest.kt @@ -1,8 +1,8 @@ package com.fiap.stock.application.services -import com.fiap.stock.adapter.gateway.ComponentGateway -import com.fiap.stock.adapter.gateway.ProductGateway -import com.fiap.stock.adapter.gateway.StockGateway +import com.fiap.stock.application.adapter.gateway.ComponentGateway +import com.fiap.stock.application.adapter.gateway.ProductGateway +import com.fiap.stock.application.adapter.gateway.StockGateway import com.fiap.stock.domain.errors.ErrorType import com.fiap.stock.domain.errors.SelfOrderManagementException import com.fiap.stock.application.services.ComponentService diff --git a/src/test/kotlin/com/fiap/stock/application/services/ProductServiceTest.kt b/src/test/kotlin/com/fiap/stock/application/services/ProductServiceTest.kt index 2850d73..c9872bc 100644 --- a/src/test/kotlin/com/fiap/stock/application/services/ProductServiceTest.kt +++ b/src/test/kotlin/com/fiap/stock/application/services/ProductServiceTest.kt @@ -1,6 +1,6 @@ package com.fiap.stock.application.services -import com.fiap.stock.adapter.gateway.ProductGateway +import com.fiap.stock.application.adapter.gateway.ProductGateway import com.fiap.stock.domain.errors.ErrorType import com.fiap.stock.domain.errors.SelfOrderManagementException import createProduct diff --git a/src/test/kotlin/com/fiap/stock/application/services/StockServiceTest.kt b/src/test/kotlin/com/fiap/stock/application/services/StockServiceTest.kt index 25ca05a..568cb80 100644 --- a/src/test/kotlin/com/fiap/stock/application/services/StockServiceTest.kt +++ b/src/test/kotlin/com/fiap/stock/application/services/StockServiceTest.kt @@ -1,6 +1,6 @@ package com.fiap.stock.application.services -import com.fiap.stock.adapter.gateway.StockGateway +import com.fiap.stock.application.adapter.gateway.StockGateway import com.fiap.stock.domain.errors.ErrorType import com.fiap.stock.domain.errors.SelfOrderManagementException import createStock From 6950cbd7c3fd30cef2b45de01a8e6955739405b5 Mon Sep 17 00:00:00 2001 From: Bleno Claus Date: Sun, 19 May 2024 18:18:14 -0300 Subject: [PATCH 06/19] fix package --- pom.xml | 2 +- .../stock/{ => application}/StockApiApp.kt | 2 +- .../adapter/controller/ComponentController.kt | 12 +++++------ .../adapter/controller/MenuController.kt | 10 ++++----- .../adapter/controller/ProductController.kt | 21 +++++++++++-------- .../adapter/controller/StockController.kt | 8 +++---- .../ControllerExceptionHandler.kt | 4 ++-- .../controller/configuration/ServiceConfig.kt | 8 +++---- .../adapter/gateway/ComponentGateway.kt | 2 +- .../adapter/gateway/ProductGateway.kt | 4 ++-- .../adapter/gateway/StockGateway.kt | 2 +- .../gateway/impl/ComponentGatewayImpl.kt | 10 ++++----- .../gateway/impl/ProductGatewayImpl.kt | 12 +++++------ .../adapter/gateway/impl/StockGatewayImpl.kt | 10 ++++----- .../config/JWTSecurityConfig.kt | 2 +- .../config/RestTemplateConfig.kt | 2 +- .../domain/entities/Component.kt | 2 +- .../domain/entities/Product.kt | 4 ++-- .../domain/entities/Stock.kt | 2 +- .../domain/errors/ErrorType.kt | 2 +- .../errors/SelfOrderManagementException.kt | 2 +- .../domain/valueobjects/ProductCategory.kt | 6 +++--- .../database/configuration/GatewayConfig.kt | 10 ++++----- .../persistence/entities/ComponentEntity.kt | 2 +- .../persistence/entities/ProductEntity.kt | 2 +- .../persistence/entities/StockEntity.kt | 2 +- .../persistence/jpa/ComponentJpaRepository.kt | 4 ++-- .../persistence/jpa/ProductJpaRepository.kt | 4 ++-- .../persistence/jpa/StockJpaRepository.kt | 6 ++++++ .../persistence/mapper/ComponentMapper.kt | 12 +++++++++++ .../persistence/mapper/ProductMapper.kt | 6 +++--- .../persistence/mapper/StockMapper.kt | 12 +++++++++++ .../driver/web/ComponentAPI.kt | 6 +++--- .../{ => application}/driver/web/MenuAPI.kt | 4 ++-- .../driver/web/ProductAPI.kt | 8 +++---- .../{ => application}/driver/web/StockAPI.kt | 6 +++--- .../driver/web/request/ComponentRequest.kt | 4 ++-- .../web/request/ProductComposeRequest.kt | 2 +- .../driver/web/request/ProductRequest.kt | 6 +++--- .../driver/web/request/QuantityRequest.kt | 2 +- .../driver/web/response/ProductResponse.kt | 6 +++--- .../application/services/ComponentService.kt | 14 ++++++------- .../application/services/ProductService.kt | 12 +++++------ .../application/services/StockService.kt | 12 +++++------ .../usecases/AdjustStockUseCase.kt | 4 ++-- .../usecases/AssembleProductsUseCase.kt | 4 ++-- .../usecases/CreateComponentUseCase.kt | 4 ++-- .../usecases/LoadComponentUseCase.kt | 4 ++-- .../usecases/LoadProductUseCase.kt | 6 +++--- .../application/usecases/LoadStockUseCase.kt | 7 +++++++ .../usecases/RemoveProductUseCase.kt | 7 +++++++ .../usecases/SearchComponentUseCase.kt | 7 +++++++ .../usecases/SearchProductUseCase.kt | 7 +++++++ .../persistence/jpa/StockJpaRepository.kt | 6 ------ .../persistence/mapper/ComponentMapper.kt | 12 ----------- .../persistence/mapper/StockMapper.kt | 12 ----------- .../fiap/stock/usecases/LoadStockUseCase.kt | 7 ------- .../stock/usecases/RemoveProductUseCase.kt | 7 ------- .../stock/usecases/SearchComponentUseCase.kt | 7 ------- .../stock/usecases/SearchProductUseCase.kt | 7 ------- src/test/kotlin/IntegrationTestFixtures.kt | 6 +++--- src/test/kotlin/TestFixtures.kt | 8 +++---- .../controller/ComponentControllerTest.kt | 4 ---- .../controller/ProductControllerTest.kt | 4 ---- .../adapter/controller/StockControllerTest.kt | 4 ---- .../controller/ComponentControllerTest.kt | 4 ++++ .../adapter/controller/MenuControllerTest.kt | 9 ++++---- .../controller/ProductControllerTest.kt | 4 ++++ .../adapter/controller/StockControllerTest.kt | 4 ++++ .../services/ComponentServiceTest.kt | 5 ++--- .../services/ProductServiceTest.kt | 8 +++---- .../application/services/StockServiceTest.kt | 5 ++--- 72 files changed, 222 insertions(+), 222 deletions(-) rename src/main/kotlin/com/fiap/stock/{ => application}/StockApiApp.kt (95%) rename src/main/kotlin/com/fiap/stock/{ => application}/config/JWTSecurityConfig.kt (97%) rename src/main/kotlin/com/fiap/stock/{ => application}/config/RestTemplateConfig.kt (87%) rename src/main/kotlin/com/fiap/stock/{ => application}/domain/entities/Component.kt (79%) rename src/main/kotlin/com/fiap/stock/{ => application}/domain/entities/Product.kt (86%) rename src/main/kotlin/com/fiap/stock/{ => application}/domain/entities/Stock.kt (83%) rename src/main/kotlin/com/fiap/stock/{ => application}/domain/errors/ErrorType.kt (84%) rename src/main/kotlin/com/fiap/stock/{ => application}/domain/errors/SelfOrderManagementException.kt (78%) rename src/main/kotlin/com/fiap/stock/{ => application}/domain/valueobjects/ProductCategory.kt (72%) rename src/main/kotlin/com/fiap/stock/{ => application}/driver/database/configuration/GatewayConfig.kt (80%) rename src/main/kotlin/com/fiap/stock/{ => application}/driver/database/persistence/entities/ComponentEntity.kt (86%) rename src/main/kotlin/com/fiap/stock/{ => application}/driver/database/persistence/entities/ProductEntity.kt (95%) rename src/main/kotlin/com/fiap/stock/{ => application}/driver/database/persistence/entities/StockEntity.kt (89%) rename src/main/kotlin/com/fiap/stock/{ => application}/driver/database/persistence/jpa/ComponentJpaRepository.kt (59%) rename src/main/kotlin/com/fiap/stock/{ => application}/driver/database/persistence/jpa/ProductJpaRepository.kt (65%) create mode 100644 src/main/kotlin/com/fiap/stock/application/driver/database/persistence/jpa/StockJpaRepository.kt create mode 100644 src/main/kotlin/com/fiap/stock/application/driver/database/persistence/mapper/ComponentMapper.kt rename src/main/kotlin/com/fiap/stock/{ => application}/driver/database/persistence/mapper/ProductMapper.kt (73%) create mode 100644 src/main/kotlin/com/fiap/stock/application/driver/database/persistence/mapper/StockMapper.kt rename src/main/kotlin/com/fiap/stock/{ => application}/driver/web/ComponentAPI.kt (94%) rename src/main/kotlin/com/fiap/stock/{ => application}/driver/web/MenuAPI.kt (94%) rename src/main/kotlin/com/fiap/stock/{ => application}/driver/web/ProductAPI.kt (96%) rename src/main/kotlin/com/fiap/stock/{ => application}/driver/web/StockAPI.kt (94%) rename src/main/kotlin/com/fiap/stock/{ => application}/driver/web/request/ComponentRequest.kt (76%) rename src/main/kotlin/com/fiap/stock/{ => application}/driver/web/request/ProductComposeRequest.kt (88%) rename src/main/kotlin/com/fiap/stock/{ => application}/driver/web/request/ProductRequest.kt (89%) rename src/main/kotlin/com/fiap/stock/{ => application}/driver/web/request/QuantityRequest.kt (76%) rename src/main/kotlin/com/fiap/stock/{ => application}/driver/web/response/ProductResponse.kt (91%) rename src/main/kotlin/com/fiap/stock/{ => application}/usecases/AdjustStockUseCase.kt (62%) rename src/main/kotlin/com/fiap/stock/{ => application}/usecases/AssembleProductsUseCase.kt (74%) rename src/main/kotlin/com/fiap/stock/{ => application}/usecases/CreateComponentUseCase.kt (51%) rename src/main/kotlin/com/fiap/stock/{ => application}/usecases/LoadComponentUseCase.kt (66%) rename src/main/kotlin/com/fiap/stock/{ => application}/usecases/LoadProductUseCase.kt (52%) create mode 100644 src/main/kotlin/com/fiap/stock/application/usecases/LoadStockUseCase.kt create mode 100644 src/main/kotlin/com/fiap/stock/application/usecases/RemoveProductUseCase.kt create mode 100644 src/main/kotlin/com/fiap/stock/application/usecases/SearchComponentUseCase.kt create mode 100644 src/main/kotlin/com/fiap/stock/application/usecases/SearchProductUseCase.kt delete mode 100644 src/main/kotlin/com/fiap/stock/driver/database/persistence/jpa/StockJpaRepository.kt delete mode 100644 src/main/kotlin/com/fiap/stock/driver/database/persistence/mapper/ComponentMapper.kt delete mode 100644 src/main/kotlin/com/fiap/stock/driver/database/persistence/mapper/StockMapper.kt delete mode 100644 src/main/kotlin/com/fiap/stock/usecases/LoadStockUseCase.kt delete mode 100644 src/main/kotlin/com/fiap/stock/usecases/RemoveProductUseCase.kt delete mode 100644 src/main/kotlin/com/fiap/stock/usecases/SearchComponentUseCase.kt delete mode 100644 src/main/kotlin/com/fiap/stock/usecases/SearchProductUseCase.kt delete mode 100644 src/test/kotlin/com/fiap/stock/adapter/controller/ComponentControllerTest.kt delete mode 100644 src/test/kotlin/com/fiap/stock/adapter/controller/ProductControllerTest.kt delete mode 100644 src/test/kotlin/com/fiap/stock/adapter/controller/StockControllerTest.kt create mode 100644 src/test/kotlin/com/fiap/stock/application/adapter/controller/ComponentControllerTest.kt rename src/test/kotlin/com/fiap/stock/{ => application}/adapter/controller/MenuControllerTest.kt (92%) create mode 100644 src/test/kotlin/com/fiap/stock/application/adapter/controller/ProductControllerTest.kt create mode 100644 src/test/kotlin/com/fiap/stock/application/adapter/controller/StockControllerTest.kt diff --git a/pom.xml b/pom.xml index e8869b9..f062e82 100644 --- a/pom.xml +++ b/pom.xml @@ -298,7 +298,7 @@ - com.fiap.stock.StockApiApp + com.fiap.stock.application.StockApiApp diff --git a/src/main/kotlin/com/fiap/stock/StockApiApp.kt b/src/main/kotlin/com/fiap/stock/application/StockApiApp.kt similarity index 95% rename from src/main/kotlin/com/fiap/stock/StockApiApp.kt rename to src/main/kotlin/com/fiap/stock/application/StockApiApp.kt index 8b447cf..a974646 100644 --- a/src/main/kotlin/com/fiap/stock/StockApiApp.kt +++ b/src/main/kotlin/com/fiap/stock/application/StockApiApp.kt @@ -1,4 +1,4 @@ -package com.fiap.stock +package com.fiap.stock.application import io.swagger.v3.oas.annotations.OpenAPIDefinition import io.swagger.v3.oas.annotations.info.Contact diff --git a/src/main/kotlin/com/fiap/stock/application/adapter/controller/ComponentController.kt b/src/main/kotlin/com/fiap/stock/application/adapter/controller/ComponentController.kt index cc9ec98..4d86117 100644 --- a/src/main/kotlin/com/fiap/stock/application/adapter/controller/ComponentController.kt +++ b/src/main/kotlin/com/fiap/stock/application/adapter/controller/ComponentController.kt @@ -1,11 +1,11 @@ package com.fiap.stock.application.adapter.controller -import com.fiap.stock.domain.entities.Component -import com.fiap.stock.driver.web.ComponentAPI -import com.fiap.stock.driver.web.request.ComponentRequest -import com.fiap.stock.usecases.CreateComponentUseCase -import com.fiap.stock.usecases.LoadComponentUseCase -import com.fiap.stock.usecases.SearchComponentUseCase +import com.fiap.stock.application.domain.entities.Component +import com.fiap.stock.application.driver.web.ComponentAPI +import com.fiap.stock.application.driver.web.request.ComponentRequest +import com.fiap.stock.application.usecases.CreateComponentUseCase +import com.fiap.stock.application.usecases.LoadComponentUseCase +import com.fiap.stock.application.usecases.SearchComponentUseCase import org.springframework.http.ResponseEntity import org.springframework.web.bind.annotation.RestController diff --git a/src/main/kotlin/com/fiap/stock/application/adapter/controller/MenuController.kt b/src/main/kotlin/com/fiap/stock/application/adapter/controller/MenuController.kt index 00bc158..b28d7bc 100644 --- a/src/main/kotlin/com/fiap/stock/application/adapter/controller/MenuController.kt +++ b/src/main/kotlin/com/fiap/stock/application/adapter/controller/MenuController.kt @@ -1,10 +1,10 @@ package com.fiap.stock.application.adapter.controller -import com.fiap.stock.domain.entities.Product -import com.fiap.stock.domain.valueobjects.ProductCategory -import com.fiap.stock.driver.web.MenuAPI -import com.fiap.stock.usecases.LoadProductUseCase -import com.fiap.stock.usecases.SearchProductUseCase +import com.fiap.stock.application.domain.entities.Product +import com.fiap.stock.application.domain.valueobjects.ProductCategory +import com.fiap.stock.application.driver.web.MenuAPI +import com.fiap.stock.application.usecases.LoadProductUseCase +import com.fiap.stock.application.usecases.SearchProductUseCase import org.springframework.http.ResponseEntity import org.springframework.web.bind.annotation.RestController diff --git a/src/main/kotlin/com/fiap/stock/application/adapter/controller/ProductController.kt b/src/main/kotlin/com/fiap/stock/application/adapter/controller/ProductController.kt index 73e67a1..4e137be 100644 --- a/src/main/kotlin/com/fiap/stock/application/adapter/controller/ProductController.kt +++ b/src/main/kotlin/com/fiap/stock/application/adapter/controller/ProductController.kt @@ -1,19 +1,22 @@ package com.fiap.stock.application.adapter.controller -import com.fiap.stock.domain.entities.Product -import com.fiap.stock.domain.valueobjects.ProductCategory -import com.fiap.stock.driver.web.ProductAPI -import com.fiap.stock.driver.web.request.ProductComposeRequest -import com.fiap.stock.driver.web.request.ProductRequest -import com.fiap.stock.driver.web.response.ProductResponse +import com.fiap.stock.application.domain.entities.Product +import com.fiap.stock.application.domain.valueobjects.ProductCategory +import com.fiap.stock.application.driver.web.ProductAPI +import com.fiap.stock.application.driver.web.request.ProductComposeRequest +import com.fiap.stock.application.driver.web.request.ProductRequest +import com.fiap.stock.application.driver.web.response.ProductResponse +import com.fiap.stock.application.usecases.AssembleProductsUseCase +import com.fiap.stock.application.usecases.LoadProductUseCase +import com.fiap.stock.application.usecases.SearchProductUseCase import org.springframework.http.ResponseEntity import org.springframework.web.bind.annotation.RestController @RestController class ProductController( - private val assembleProductsUseCase: com.fiap.stock.usecases.AssembleProductsUseCase, - private val loadProductUseCase: com.fiap.stock.usecases.LoadProductUseCase, - private val searchProductUseCase: com.fiap.stock.usecases.SearchProductUseCase, + private val assembleProductsUseCase: AssembleProductsUseCase, + private val loadProductUseCase: LoadProductUseCase, + private val searchProductUseCase: SearchProductUseCase, ) : ProductAPI { override fun getByProductNumber(productNumber: Long): ResponseEntity { return loadProductUseCase.getByProductNumber(productNumber).let(::createResponse) diff --git a/src/main/kotlin/com/fiap/stock/application/adapter/controller/StockController.kt b/src/main/kotlin/com/fiap/stock/application/adapter/controller/StockController.kt index b8a4bff..5ee6943 100644 --- a/src/main/kotlin/com/fiap/stock/application/adapter/controller/StockController.kt +++ b/src/main/kotlin/com/fiap/stock/application/adapter/controller/StockController.kt @@ -1,9 +1,9 @@ package com.fiap.stock.application.adapter.controller -import com.fiap.stock.domain.entities.Stock -import com.fiap.stock.driver.web.StockAPI -import com.fiap.stock.driver.web.request.QuantityRequest -import com.fiap.stock.usecases.AdjustStockUseCase +import com.fiap.stock.application.domain.entities.Stock +import com.fiap.stock.application.driver.web.StockAPI +import com.fiap.stock.application.driver.web.request.QuantityRequest +import com.fiap.stock.application.usecases.AdjustStockUseCase import org.springframework.http.ResponseEntity import org.springframework.web.bind.annotation.RestController diff --git a/src/main/kotlin/com/fiap/stock/application/adapter/controller/configuration/ControllerExceptionHandler.kt b/src/main/kotlin/com/fiap/stock/application/adapter/controller/configuration/ControllerExceptionHandler.kt index 5123428..e19ec8f 100644 --- a/src/main/kotlin/com/fiap/stock/application/adapter/controller/configuration/ControllerExceptionHandler.kt +++ b/src/main/kotlin/com/fiap/stock/application/adapter/controller/configuration/ControllerExceptionHandler.kt @@ -1,7 +1,7 @@ package com.fiap.stock.application.adapter.controller.configuration -import com.fiap.stock.domain.errors.ErrorType -import com.fiap.stock.domain.errors.SelfOrderManagementException +import com.fiap.stock.application.domain.errors.ErrorType +import com.fiap.stock.application.domain.errors.SelfOrderManagementException import org.springframework.http.HttpStatus import org.springframework.http.ResponseEntity import org.springframework.web.bind.annotation.ControllerAdvice diff --git a/src/main/kotlin/com/fiap/stock/application/adapter/controller/configuration/ServiceConfig.kt b/src/main/kotlin/com/fiap/stock/application/adapter/controller/configuration/ServiceConfig.kt index cf76ddb..a8acb85 100644 --- a/src/main/kotlin/com/fiap/stock/application/adapter/controller/configuration/ServiceConfig.kt +++ b/src/main/kotlin/com/fiap/stock/application/adapter/controller/configuration/ServiceConfig.kt @@ -1,16 +1,16 @@ package com.fiap.stock.application.adapter.controller.configuration -import com.fiap.stock.StockApiApp +import com.fiap.stock.application.StockApiApp import com.fiap.stock.application.adapter.gateway.ComponentGateway import com.fiap.stock.application.adapter.gateway.ProductGateway import com.fiap.stock.application.adapter.gateway.StockGateway -import com.fiap.stock.usecases.LoadComponentUseCase +import com.fiap.stock.application.usecases.LoadComponentUseCase import com.fiap.stock.application.services.ComponentService import org.springframework.context.annotation.Bean import org.springframework.context.annotation.ComponentScan import org.springframework.context.annotation.Configuration -import services.ProductService -import services.StockService +import com.fiap.stock.application.services.ProductService +import com.fiap.stock.application.services.StockService @Configuration @ComponentScan(basePackageClasses = [StockApiApp::class]) diff --git a/src/main/kotlin/com/fiap/stock/application/adapter/gateway/ComponentGateway.kt b/src/main/kotlin/com/fiap/stock/application/adapter/gateway/ComponentGateway.kt index 4f34762..2a664c5 100644 --- a/src/main/kotlin/com/fiap/stock/application/adapter/gateway/ComponentGateway.kt +++ b/src/main/kotlin/com/fiap/stock/application/adapter/gateway/ComponentGateway.kt @@ -1,6 +1,6 @@ package com.fiap.stock.application.adapter.gateway -import com.fiap.stock.domain.entities.Component +import com.fiap.stock.application.domain.entities.Component interface ComponentGateway { fun findAll(): List diff --git a/src/main/kotlin/com/fiap/stock/application/adapter/gateway/ProductGateway.kt b/src/main/kotlin/com/fiap/stock/application/adapter/gateway/ProductGateway.kt index 6419cb2..c47c58a 100644 --- a/src/main/kotlin/com/fiap/stock/application/adapter/gateway/ProductGateway.kt +++ b/src/main/kotlin/com/fiap/stock/application/adapter/gateway/ProductGateway.kt @@ -1,7 +1,7 @@ package com.fiap.stock.application.adapter.gateway -import com.fiap.stock.domain.entities.Product -import com.fiap.stock.domain.valueobjects.ProductCategory +import com.fiap.stock.application.domain.entities.Product +import com.fiap.stock.application.domain.valueobjects.ProductCategory interface ProductGateway { fun findAll(): List diff --git a/src/main/kotlin/com/fiap/stock/application/adapter/gateway/StockGateway.kt b/src/main/kotlin/com/fiap/stock/application/adapter/gateway/StockGateway.kt index aa39d1a..3c54dcf 100644 --- a/src/main/kotlin/com/fiap/stock/application/adapter/gateway/StockGateway.kt +++ b/src/main/kotlin/com/fiap/stock/application/adapter/gateway/StockGateway.kt @@ -1,6 +1,6 @@ package com.fiap.stock.application.adapter.gateway -import com.fiap.stock.domain.entities.Stock +import com.fiap.stock.application.domain.entities.Stock interface StockGateway { fun findByComponentNumber(componentNumber: Long): Stock? diff --git a/src/main/kotlin/com/fiap/stock/application/adapter/gateway/impl/ComponentGatewayImpl.kt b/src/main/kotlin/com/fiap/stock/application/adapter/gateway/impl/ComponentGatewayImpl.kt index 04a5fde..ba729de 100644 --- a/src/main/kotlin/com/fiap/stock/application/adapter/gateway/impl/ComponentGatewayImpl.kt +++ b/src/main/kotlin/com/fiap/stock/application/adapter/gateway/impl/ComponentGatewayImpl.kt @@ -1,11 +1,11 @@ package com.fiap.stock.application.adapter.gateway.impl import com.fiap.stock.application.adapter.gateway.ComponentGateway -import com.fiap.stock.domain.entities.Component -import com.fiap.stock.domain.errors.ErrorType -import com.fiap.stock.domain.errors.SelfOrderManagementException -import com.fiap.stock.driver.database.persistence.jpa.ComponentJpaRepository -import com.fiap.stock.driver.database.persistence.mapper.ComponentMapper +import com.fiap.stock.application.domain.entities.Component +import com.fiap.stock.application.domain.errors.ErrorType +import com.fiap.stock.application.domain.errors.SelfOrderManagementException +import com.fiap.stock.application.driver.database.persistence.jpa.ComponentJpaRepository +import com.fiap.stock.application.driver.database.persistence.mapper.ComponentMapper import org.mapstruct.factory.Mappers class ComponentGatewayImpl( diff --git a/src/main/kotlin/com/fiap/stock/application/adapter/gateway/impl/ProductGatewayImpl.kt b/src/main/kotlin/com/fiap/stock/application/adapter/gateway/impl/ProductGatewayImpl.kt index f2c317d..b803f4f 100644 --- a/src/main/kotlin/com/fiap/stock/application/adapter/gateway/impl/ProductGatewayImpl.kt +++ b/src/main/kotlin/com/fiap/stock/application/adapter/gateway/impl/ProductGatewayImpl.kt @@ -1,12 +1,12 @@ package com.fiap.stock.application.adapter.gateway.impl import com.fiap.stock.application.adapter.gateway.ProductGateway -import com.fiap.stock.domain.entities.Product -import com.fiap.stock.domain.errors.ErrorType -import com.fiap.stock.domain.errors.SelfOrderManagementException -import com.fiap.stock.domain.valueobjects.ProductCategory -import com.fiap.stock.driver.database.persistence.jpa.ProductJpaRepository -import com.fiap.stock.driver.database.persistence.mapper.ProductMapper +import com.fiap.stock.application.domain.entities.Product +import com.fiap.stock.application.domain.errors.ErrorType +import com.fiap.stock.application.domain.errors.SelfOrderManagementException +import com.fiap.stock.application.domain.valueobjects.ProductCategory +import com.fiap.stock.application.driver.database.persistence.jpa.ProductJpaRepository +import com.fiap.stock.application.driver.database.persistence.mapper.ProductMapper import org.mapstruct.factory.Mappers class ProductGatewayImpl( diff --git a/src/main/kotlin/com/fiap/stock/application/adapter/gateway/impl/StockGatewayImpl.kt b/src/main/kotlin/com/fiap/stock/application/adapter/gateway/impl/StockGatewayImpl.kt index 2d7226d..363d78d 100644 --- a/src/main/kotlin/com/fiap/stock/application/adapter/gateway/impl/StockGatewayImpl.kt +++ b/src/main/kotlin/com/fiap/stock/application/adapter/gateway/impl/StockGatewayImpl.kt @@ -1,11 +1,11 @@ package com.fiap.stock.application.adapter.gateway.impl import com.fiap.stock.application.adapter.gateway.StockGateway -import com.fiap.stock.domain.entities.Stock -import com.fiap.stock.domain.errors.ErrorType -import com.fiap.stock.domain.errors.SelfOrderManagementException -import com.fiap.stock.driver.database.persistence.jpa.StockJpaRepository -import com.fiap.stock.driver.database.persistence.mapper.StockMapper +import com.fiap.stock.application.domain.entities.Stock +import com.fiap.stock.application.domain.errors.ErrorType +import com.fiap.stock.application.domain.errors.SelfOrderManagementException +import com.fiap.stock.application.driver.database.persistence.jpa.StockJpaRepository +import com.fiap.stock.application.driver.database.persistence.mapper.StockMapper import org.mapstruct.factory.Mappers class StockGatewayImpl( diff --git a/src/main/kotlin/com/fiap/stock/config/JWTSecurityConfig.kt b/src/main/kotlin/com/fiap/stock/application/config/JWTSecurityConfig.kt similarity index 97% rename from src/main/kotlin/com/fiap/stock/config/JWTSecurityConfig.kt rename to src/main/kotlin/com/fiap/stock/application/config/JWTSecurityConfig.kt index e274f5a..bdaf596 100644 --- a/src/main/kotlin/com/fiap/stock/config/JWTSecurityConfig.kt +++ b/src/main/kotlin/com/fiap/stock/application/config/JWTSecurityConfig.kt @@ -1,4 +1,4 @@ -package com.fiap.stock.config +package com.fiap.stock.application.config import io.swagger.v3.oas.annotations.enums.SecuritySchemeType import io.swagger.v3.oas.annotations.security.SecurityScheme diff --git a/src/main/kotlin/com/fiap/stock/config/RestTemplateConfig.kt b/src/main/kotlin/com/fiap/stock/application/config/RestTemplateConfig.kt similarity index 87% rename from src/main/kotlin/com/fiap/stock/config/RestTemplateConfig.kt rename to src/main/kotlin/com/fiap/stock/application/config/RestTemplateConfig.kt index deb3806..fbb1ddf 100644 --- a/src/main/kotlin/com/fiap/stock/config/RestTemplateConfig.kt +++ b/src/main/kotlin/com/fiap/stock/application/config/RestTemplateConfig.kt @@ -1,4 +1,4 @@ -package com.fiap.stock.config +package com.fiap.stock.application.config import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration diff --git a/src/main/kotlin/com/fiap/stock/domain/entities/Component.kt b/src/main/kotlin/com/fiap/stock/application/domain/entities/Component.kt similarity index 79% rename from src/main/kotlin/com/fiap/stock/domain/entities/Component.kt rename to src/main/kotlin/com/fiap/stock/application/domain/entities/Component.kt index a5d3151..37e41f5 100644 --- a/src/main/kotlin/com/fiap/stock/domain/entities/Component.kt +++ b/src/main/kotlin/com/fiap/stock/application/domain/entities/Component.kt @@ -1,4 +1,4 @@ -package com.fiap.stock.domain.entities +package com.fiap.stock.application.domain.entities data class Component( val number: Long? = null, diff --git a/src/main/kotlin/com/fiap/stock/domain/entities/Product.kt b/src/main/kotlin/com/fiap/stock/application/domain/entities/Product.kt similarity index 86% rename from src/main/kotlin/com/fiap/stock/domain/entities/Product.kt rename to src/main/kotlin/com/fiap/stock/application/domain/entities/Product.kt index e3562be..062fbed 100644 --- a/src/main/kotlin/com/fiap/stock/domain/entities/Product.kt +++ b/src/main/kotlin/com/fiap/stock/application/domain/entities/Product.kt @@ -1,6 +1,6 @@ -package com.fiap.stock.domain.entities +package com.fiap.stock.application.domain.entities -import com.fiap.stock.domain.valueobjects.ProductCategory +import com.fiap.stock.application.domain.valueobjects.ProductCategory import java.math.BigDecimal data class Product( diff --git a/src/main/kotlin/com/fiap/stock/domain/entities/Stock.kt b/src/main/kotlin/com/fiap/stock/application/domain/entities/Stock.kt similarity index 83% rename from src/main/kotlin/com/fiap/stock/domain/entities/Stock.kt rename to src/main/kotlin/com/fiap/stock/application/domain/entities/Stock.kt index 958e88e..edbeb10 100644 --- a/src/main/kotlin/com/fiap/stock/domain/entities/Stock.kt +++ b/src/main/kotlin/com/fiap/stock/application/domain/entities/Stock.kt @@ -1,4 +1,4 @@ -package com.fiap.stock.domain.entities +package com.fiap.stock.application.domain.entities data class Stock( val componentNumber: Long, diff --git a/src/main/kotlin/com/fiap/stock/domain/errors/ErrorType.kt b/src/main/kotlin/com/fiap/stock/application/domain/errors/ErrorType.kt similarity index 84% rename from src/main/kotlin/com/fiap/stock/domain/errors/ErrorType.kt rename to src/main/kotlin/com/fiap/stock/application/domain/errors/ErrorType.kt index 81d2643..67c3d09 100644 --- a/src/main/kotlin/com/fiap/stock/domain/errors/ErrorType.kt +++ b/src/main/kotlin/com/fiap/stock/application/domain/errors/ErrorType.kt @@ -1,4 +1,4 @@ -package com.fiap.stock.domain.errors +package com.fiap.stock.application.domain.errors enum class ErrorType { PRODUCT_NOT_FOUND, diff --git a/src/main/kotlin/com/fiap/stock/domain/errors/SelfOrderManagementException.kt b/src/main/kotlin/com/fiap/stock/application/domain/errors/SelfOrderManagementException.kt similarity index 78% rename from src/main/kotlin/com/fiap/stock/domain/errors/SelfOrderManagementException.kt rename to src/main/kotlin/com/fiap/stock/application/domain/errors/SelfOrderManagementException.kt index fc02c06..c50d126 100644 --- a/src/main/kotlin/com/fiap/stock/domain/errors/SelfOrderManagementException.kt +++ b/src/main/kotlin/com/fiap/stock/application/domain/errors/SelfOrderManagementException.kt @@ -1,4 +1,4 @@ -package com.fiap.stock.domain.errors +package com.fiap.stock.application.domain.errors data class SelfOrderManagementException(var errorType: ErrorType, override val cause: Throwable? = null, override val message: String?) : RuntimeException(message, cause) diff --git a/src/main/kotlin/com/fiap/stock/domain/valueobjects/ProductCategory.kt b/src/main/kotlin/com/fiap/stock/application/domain/valueobjects/ProductCategory.kt similarity index 72% rename from src/main/kotlin/com/fiap/stock/domain/valueobjects/ProductCategory.kt rename to src/main/kotlin/com/fiap/stock/application/domain/valueobjects/ProductCategory.kt index a13815d..5e221b8 100644 --- a/src/main/kotlin/com/fiap/stock/domain/valueobjects/ProductCategory.kt +++ b/src/main/kotlin/com/fiap/stock/application/domain/valueobjects/ProductCategory.kt @@ -1,7 +1,7 @@ -package com.fiap.stock.domain.valueobjects +package com.fiap.stock.application.domain.valueobjects -import com.fiap.stock.domain.errors.ErrorType -import com.fiap.stock.domain.errors.SelfOrderManagementException +import com.fiap.stock.application.domain.errors.ErrorType +import com.fiap.stock.application.domain.errors.SelfOrderManagementException enum class ProductCategory { DRINK, diff --git a/src/main/kotlin/com/fiap/stock/driver/database/configuration/GatewayConfig.kt b/src/main/kotlin/com/fiap/stock/application/driver/database/configuration/GatewayConfig.kt similarity index 80% rename from src/main/kotlin/com/fiap/stock/driver/database/configuration/GatewayConfig.kt rename to src/main/kotlin/com/fiap/stock/application/driver/database/configuration/GatewayConfig.kt index 5f09cff..f655ec5 100644 --- a/src/main/kotlin/com/fiap/stock/driver/database/configuration/GatewayConfig.kt +++ b/src/main/kotlin/com/fiap/stock/application/driver/database/configuration/GatewayConfig.kt @@ -1,6 +1,6 @@ -package com.fiap.stock.driver.database.configuration +package com.fiap.stock.application.driver.database.configuration -import com.fiap.stock.StockApiApp +import com.fiap.stock.application.StockApiApp import com.fiap.stock.application.adapter.gateway.ComponentGateway import com.fiap.stock.application.adapter.gateway.ProductGateway import com.fiap.stock.application.adapter.gateway.StockGateway @@ -9,9 +9,9 @@ import com.fiap.stock.application.adapter.gateway.impl.ComponentGatewayImpl import com.fiap.stock.application.adapter.gateway.impl.ProductGatewayImpl import com.fiap.stock.application.adapter.gateway.impl.StockGatewayImpl import com.fiap.stock.application.adapter.gateway.impl.TransactionalGatewayImpl -import com.fiap.stock.driver.database.persistence.jpa.ComponentJpaRepository -import com.fiap.stock.driver.database.persistence.jpa.ProductJpaRepository -import com.fiap.stock.driver.database.persistence.jpa.StockJpaRepository +import com.fiap.stock.application.driver.database.persistence.jpa.ComponentJpaRepository +import com.fiap.stock.application.driver.database.persistence.jpa.ProductJpaRepository +import com.fiap.stock.application.driver.database.persistence.jpa.StockJpaRepository import org.springframework.context.annotation.Bean import org.springframework.context.annotation.ComponentScan import org.springframework.context.annotation.Configuration diff --git a/src/main/kotlin/com/fiap/stock/driver/database/persistence/entities/ComponentEntity.kt b/src/main/kotlin/com/fiap/stock/application/driver/database/persistence/entities/ComponentEntity.kt similarity index 86% rename from src/main/kotlin/com/fiap/stock/driver/database/persistence/entities/ComponentEntity.kt rename to src/main/kotlin/com/fiap/stock/application/driver/database/persistence/entities/ComponentEntity.kt index 87a294c..153f35b 100644 --- a/src/main/kotlin/com/fiap/stock/driver/database/persistence/entities/ComponentEntity.kt +++ b/src/main/kotlin/com/fiap/stock/application/driver/database/persistence/entities/ComponentEntity.kt @@ -1,4 +1,4 @@ -package com.fiap.stock.driver.database.persistence.entities +package com.fiap.stock.application.driver.database.persistence.entities import jakarta.persistence.Column import jakarta.persistence.Entity diff --git a/src/main/kotlin/com/fiap/stock/driver/database/persistence/entities/ProductEntity.kt b/src/main/kotlin/com/fiap/stock/application/driver/database/persistence/entities/ProductEntity.kt similarity index 95% rename from src/main/kotlin/com/fiap/stock/driver/database/persistence/entities/ProductEntity.kt rename to src/main/kotlin/com/fiap/stock/application/driver/database/persistence/entities/ProductEntity.kt index d354adf..29de3db 100644 --- a/src/main/kotlin/com/fiap/stock/driver/database/persistence/entities/ProductEntity.kt +++ b/src/main/kotlin/com/fiap/stock/application/driver/database/persistence/entities/ProductEntity.kt @@ -1,4 +1,4 @@ -package com.fiap.stock.driver.database.persistence.entities +package com.fiap.stock.application.driver.database.persistence.entities import jakarta.persistence.Column import jakarta.persistence.Entity diff --git a/src/main/kotlin/com/fiap/stock/driver/database/persistence/entities/StockEntity.kt b/src/main/kotlin/com/fiap/stock/application/driver/database/persistence/entities/StockEntity.kt similarity index 89% rename from src/main/kotlin/com/fiap/stock/driver/database/persistence/entities/StockEntity.kt rename to src/main/kotlin/com/fiap/stock/application/driver/database/persistence/entities/StockEntity.kt index 517b17b..bacc181 100644 --- a/src/main/kotlin/com/fiap/stock/driver/database/persistence/entities/StockEntity.kt +++ b/src/main/kotlin/com/fiap/stock/application/driver/database/persistence/entities/StockEntity.kt @@ -1,4 +1,4 @@ -package com.fiap.stock.driver.database.persistence.entities +package com.fiap.stock.application.driver.database.persistence.entities import jakarta.persistence.Column import jakarta.persistence.Entity diff --git a/src/main/kotlin/com/fiap/stock/driver/database/persistence/jpa/ComponentJpaRepository.kt b/src/main/kotlin/com/fiap/stock/application/driver/database/persistence/jpa/ComponentJpaRepository.kt similarity index 59% rename from src/main/kotlin/com/fiap/stock/driver/database/persistence/jpa/ComponentJpaRepository.kt rename to src/main/kotlin/com/fiap/stock/application/driver/database/persistence/jpa/ComponentJpaRepository.kt index c293254..1d5665b 100644 --- a/src/main/kotlin/com/fiap/stock/driver/database/persistence/jpa/ComponentJpaRepository.kt +++ b/src/main/kotlin/com/fiap/stock/application/driver/database/persistence/jpa/ComponentJpaRepository.kt @@ -1,6 +1,6 @@ -package com.fiap.stock.driver.database.persistence.jpa +package com.fiap.stock.application.driver.database.persistence.jpa -import com.fiap.stock.driver.database.persistence.entities.ComponentEntity +import com.fiap.stock.application.driver.database.persistence.entities.ComponentEntity import org.springframework.data.repository.CrudRepository interface ComponentJpaRepository : CrudRepository { diff --git a/src/main/kotlin/com/fiap/stock/driver/database/persistence/jpa/ProductJpaRepository.kt b/src/main/kotlin/com/fiap/stock/application/driver/database/persistence/jpa/ProductJpaRepository.kt similarity index 65% rename from src/main/kotlin/com/fiap/stock/driver/database/persistence/jpa/ProductJpaRepository.kt rename to src/main/kotlin/com/fiap/stock/application/driver/database/persistence/jpa/ProductJpaRepository.kt index fba9cc0..4fa9726 100644 --- a/src/main/kotlin/com/fiap/stock/driver/database/persistence/jpa/ProductJpaRepository.kt +++ b/src/main/kotlin/com/fiap/stock/application/driver/database/persistence/jpa/ProductJpaRepository.kt @@ -1,6 +1,6 @@ -package com.fiap.stock.driver.database.persistence.jpa +package com.fiap.stock.application.driver.database.persistence.jpa -import com.fiap.stock.driver.database.persistence.entities.ProductEntity +import com.fiap.stock.application.driver.database.persistence.entities.ProductEntity import org.springframework.data.repository.CrudRepository interface ProductJpaRepository : CrudRepository { diff --git a/src/main/kotlin/com/fiap/stock/application/driver/database/persistence/jpa/StockJpaRepository.kt b/src/main/kotlin/com/fiap/stock/application/driver/database/persistence/jpa/StockJpaRepository.kt new file mode 100644 index 0000000..6e7ddf9 --- /dev/null +++ b/src/main/kotlin/com/fiap/stock/application/driver/database/persistence/jpa/StockJpaRepository.kt @@ -0,0 +1,6 @@ +package com.fiap.stock.application.driver.database.persistence.jpa + +import com.fiap.stock.application.driver.database.persistence.entities.StockEntity +import org.springframework.data.repository.CrudRepository + +interface StockJpaRepository : CrudRepository diff --git a/src/main/kotlin/com/fiap/stock/application/driver/database/persistence/mapper/ComponentMapper.kt b/src/main/kotlin/com/fiap/stock/application/driver/database/persistence/mapper/ComponentMapper.kt new file mode 100644 index 0000000..c9e392f --- /dev/null +++ b/src/main/kotlin/com/fiap/stock/application/driver/database/persistence/mapper/ComponentMapper.kt @@ -0,0 +1,12 @@ +package com.fiap.stock.application.driver.database.persistence.mapper + +import com.fiap.stock.application.domain.entities.Component +import com.fiap.stock.application.driver.database.persistence.entities.ComponentEntity +import org.mapstruct.Mapper + +@Mapper +interface ComponentMapper { + fun toDomain(entity: ComponentEntity): Component + + fun toEntity(domain: Component): ComponentEntity +} diff --git a/src/main/kotlin/com/fiap/stock/driver/database/persistence/mapper/ProductMapper.kt b/src/main/kotlin/com/fiap/stock/application/driver/database/persistence/mapper/ProductMapper.kt similarity index 73% rename from src/main/kotlin/com/fiap/stock/driver/database/persistence/mapper/ProductMapper.kt rename to src/main/kotlin/com/fiap/stock/application/driver/database/persistence/mapper/ProductMapper.kt index 28320e5..ea84041 100644 --- a/src/main/kotlin/com/fiap/stock/driver/database/persistence/mapper/ProductMapper.kt +++ b/src/main/kotlin/com/fiap/stock/application/driver/database/persistence/mapper/ProductMapper.kt @@ -1,7 +1,7 @@ -package com.fiap.stock.driver.database.persistence.mapper +package com.fiap.stock.application.driver.database.persistence.mapper -import com.fiap.stock.domain.entities.Product -import com.fiap.stock.driver.database.persistence.entities.ProductEntity +import com.fiap.stock.application.domain.entities.Product +import com.fiap.stock.application.driver.database.persistence.entities.ProductEntity import org.mapstruct.Mapper import org.mapstruct.Mapping import org.mapstruct.NullValuePropertyMappingStrategy diff --git a/src/main/kotlin/com/fiap/stock/application/driver/database/persistence/mapper/StockMapper.kt b/src/main/kotlin/com/fiap/stock/application/driver/database/persistence/mapper/StockMapper.kt new file mode 100644 index 0000000..e36bed3 --- /dev/null +++ b/src/main/kotlin/com/fiap/stock/application/driver/database/persistence/mapper/StockMapper.kt @@ -0,0 +1,12 @@ +package com.fiap.stock.application.driver.database.persistence.mapper + +import com.fiap.stock.application.domain.entities.Stock +import com.fiap.stock.application.driver.database.persistence.entities.StockEntity +import org.mapstruct.Mapper + +@Mapper +interface StockMapper { + fun toDomain(entity: StockEntity): Stock + + fun toEntity(domain: Stock): StockEntity +} diff --git a/src/main/kotlin/com/fiap/stock/driver/web/ComponentAPI.kt b/src/main/kotlin/com/fiap/stock/application/driver/web/ComponentAPI.kt similarity index 94% rename from src/main/kotlin/com/fiap/stock/driver/web/ComponentAPI.kt rename to src/main/kotlin/com/fiap/stock/application/driver/web/ComponentAPI.kt index a0db53c..fccda51 100644 --- a/src/main/kotlin/com/fiap/stock/driver/web/ComponentAPI.kt +++ b/src/main/kotlin/com/fiap/stock/application/driver/web/ComponentAPI.kt @@ -1,7 +1,7 @@ -package com.fiap.stock.driver.web +package com.fiap.stock.application.driver.web -import com.fiap.stock.domain.entities.Component -import com.fiap.stock.driver.web.request.ComponentRequest +import com.fiap.stock.application.domain.entities.Component +import com.fiap.stock.application.driver.web.request.ComponentRequest import io.swagger.v3.oas.annotations.Operation import io.swagger.v3.oas.annotations.Parameter import io.swagger.v3.oas.annotations.enums.ParameterIn diff --git a/src/main/kotlin/com/fiap/stock/driver/web/MenuAPI.kt b/src/main/kotlin/com/fiap/stock/application/driver/web/MenuAPI.kt similarity index 94% rename from src/main/kotlin/com/fiap/stock/driver/web/MenuAPI.kt rename to src/main/kotlin/com/fiap/stock/application/driver/web/MenuAPI.kt index 039c5fb..f7567cd 100644 --- a/src/main/kotlin/com/fiap/stock/driver/web/MenuAPI.kt +++ b/src/main/kotlin/com/fiap/stock/application/driver/web/MenuAPI.kt @@ -1,6 +1,6 @@ -package com.fiap.stock.driver.web +package com.fiap.stock.application.driver.web -import com.fiap.stock.domain.entities.Product +import com.fiap.stock.application.domain.entities.Product import io.swagger.v3.oas.annotations.Operation import io.swagger.v3.oas.annotations.Parameter import io.swagger.v3.oas.annotations.responses.ApiResponse diff --git a/src/main/kotlin/com/fiap/stock/driver/web/ProductAPI.kt b/src/main/kotlin/com/fiap/stock/application/driver/web/ProductAPI.kt similarity index 96% rename from src/main/kotlin/com/fiap/stock/driver/web/ProductAPI.kt rename to src/main/kotlin/com/fiap/stock/application/driver/web/ProductAPI.kt index 29b6c68..84ffcaf 100644 --- a/src/main/kotlin/com/fiap/stock/driver/web/ProductAPI.kt +++ b/src/main/kotlin/com/fiap/stock/application/driver/web/ProductAPI.kt @@ -1,8 +1,8 @@ -package com.fiap.stock.driver.web +package com.fiap.stock.application.driver.web -import com.fiap.stock.driver.web.request.ProductComposeRequest -import com.fiap.stock.driver.web.request.ProductRequest -import com.fiap.stock.driver.web.response.ProductResponse +import com.fiap.stock.application.driver.web.request.ProductComposeRequest +import com.fiap.stock.application.driver.web.request.ProductRequest +import com.fiap.stock.application.driver.web.response.ProductResponse import io.swagger.v3.oas.annotations.Operation import io.swagger.v3.oas.annotations.Parameter import io.swagger.v3.oas.annotations.enums.ParameterIn diff --git a/src/main/kotlin/com/fiap/stock/driver/web/StockAPI.kt b/src/main/kotlin/com/fiap/stock/application/driver/web/StockAPI.kt similarity index 94% rename from src/main/kotlin/com/fiap/stock/driver/web/StockAPI.kt rename to src/main/kotlin/com/fiap/stock/application/driver/web/StockAPI.kt index 2d4a037..4d5a693 100644 --- a/src/main/kotlin/com/fiap/stock/driver/web/StockAPI.kt +++ b/src/main/kotlin/com/fiap/stock/application/driver/web/StockAPI.kt @@ -1,7 +1,7 @@ -package com.fiap.stock.driver.web +package com.fiap.stock.application.driver.web -import com.fiap.stock.domain.entities.Stock -import com.fiap.stock.driver.web.request.QuantityRequest +import com.fiap.stock.application.domain.entities.Stock +import com.fiap.stock.application.driver.web.request.QuantityRequest import io.swagger.v3.oas.annotations.Operation import io.swagger.v3.oas.annotations.Parameter import io.swagger.v3.oas.annotations.enums.ParameterIn diff --git a/src/main/kotlin/com/fiap/stock/driver/web/request/ComponentRequest.kt b/src/main/kotlin/com/fiap/stock/application/driver/web/request/ComponentRequest.kt similarity index 76% rename from src/main/kotlin/com/fiap/stock/driver/web/request/ComponentRequest.kt rename to src/main/kotlin/com/fiap/stock/application/driver/web/request/ComponentRequest.kt index 8eca1bf..2ad11fe 100644 --- a/src/main/kotlin/com/fiap/stock/driver/web/request/ComponentRequest.kt +++ b/src/main/kotlin/com/fiap/stock/application/driver/web/request/ComponentRequest.kt @@ -1,6 +1,6 @@ -package com.fiap.stock.driver.web.request +package com.fiap.stock.application.driver.web.request -import com.fiap.stock.domain.entities.Component +import com.fiap.stock.application.domain.entities.Component import io.swagger.v3.oas.annotations.media.Schema data class ComponentRequest( diff --git a/src/main/kotlin/com/fiap/stock/driver/web/request/ProductComposeRequest.kt b/src/main/kotlin/com/fiap/stock/application/driver/web/request/ProductComposeRequest.kt similarity index 88% rename from src/main/kotlin/com/fiap/stock/driver/web/request/ProductComposeRequest.kt rename to src/main/kotlin/com/fiap/stock/application/driver/web/request/ProductComposeRequest.kt index 9879836..03925a0 100644 --- a/src/main/kotlin/com/fiap/stock/driver/web/request/ProductComposeRequest.kt +++ b/src/main/kotlin/com/fiap/stock/application/driver/web/request/ProductComposeRequest.kt @@ -1,4 +1,4 @@ -package com.fiap.stock.driver.web.request +package com.fiap.stock.application.driver.web.request import io.swagger.v3.oas.annotations.media.Schema diff --git a/src/main/kotlin/com/fiap/stock/driver/web/request/ProductRequest.kt b/src/main/kotlin/com/fiap/stock/application/driver/web/request/ProductRequest.kt similarity index 89% rename from src/main/kotlin/com/fiap/stock/driver/web/request/ProductRequest.kt rename to src/main/kotlin/com/fiap/stock/application/driver/web/request/ProductRequest.kt index 95a4a96..f2e31a1 100644 --- a/src/main/kotlin/com/fiap/stock/driver/web/request/ProductRequest.kt +++ b/src/main/kotlin/com/fiap/stock/application/driver/web/request/ProductRequest.kt @@ -1,8 +1,8 @@ -package com.fiap.stock.driver.web.request +package com.fiap.stock.application.driver.web.request import com.fasterxml.jackson.annotation.JsonFormat -import com.fiap.stock.domain.entities.Product -import com.fiap.stock.domain.valueobjects.ProductCategory +import com.fiap.stock.application.domain.entities.Product +import com.fiap.stock.application.domain.valueobjects.ProductCategory import io.swagger.v3.oas.annotations.media.Schema import java.math.BigDecimal diff --git a/src/main/kotlin/com/fiap/stock/driver/web/request/QuantityRequest.kt b/src/main/kotlin/com/fiap/stock/application/driver/web/request/QuantityRequest.kt similarity index 76% rename from src/main/kotlin/com/fiap/stock/driver/web/request/QuantityRequest.kt rename to src/main/kotlin/com/fiap/stock/application/driver/web/request/QuantityRequest.kt index 3bae078..47ecf3f 100644 --- a/src/main/kotlin/com/fiap/stock/driver/web/request/QuantityRequest.kt +++ b/src/main/kotlin/com/fiap/stock/application/driver/web/request/QuantityRequest.kt @@ -1,4 +1,4 @@ -package com.fiap.stock.driver.web.request +package com.fiap.stock.application.driver.web.request import io.swagger.v3.oas.annotations.media.Schema diff --git a/src/main/kotlin/com/fiap/stock/driver/web/response/ProductResponse.kt b/src/main/kotlin/com/fiap/stock/application/driver/web/response/ProductResponse.kt similarity index 91% rename from src/main/kotlin/com/fiap/stock/driver/web/response/ProductResponse.kt rename to src/main/kotlin/com/fiap/stock/application/driver/web/response/ProductResponse.kt index a269daa..0ce163d 100644 --- a/src/main/kotlin/com/fiap/stock/driver/web/response/ProductResponse.kt +++ b/src/main/kotlin/com/fiap/stock/application/driver/web/response/ProductResponse.kt @@ -1,8 +1,8 @@ -package com.fiap.stock.driver.web.response +package com.fiap.stock.application.driver.web.response import com.fasterxml.jackson.annotation.JsonFormat -import com.fiap.stock.domain.entities.Component -import com.fiap.stock.domain.entities.Product +import com.fiap.stock.application.domain.entities.Component +import com.fiap.stock.application.domain.entities.Product import io.swagger.v3.oas.annotations.media.Schema import java.math.BigDecimal diff --git a/src/main/kotlin/com/fiap/stock/application/services/ComponentService.kt b/src/main/kotlin/com/fiap/stock/application/services/ComponentService.kt index 5ec119f..20c2572 100644 --- a/src/main/kotlin/com/fiap/stock/application/services/ComponentService.kt +++ b/src/main/kotlin/com/fiap/stock/application/services/ComponentService.kt @@ -3,13 +3,13 @@ package com.fiap.stock.application.services import com.fiap.stock.application.adapter.gateway.ComponentGateway import com.fiap.stock.application.adapter.gateway.ProductGateway import com.fiap.stock.application.adapter.gateway.StockGateway -import com.fiap.stock.domain.entities.Component -import com.fiap.stock.domain.entities.Stock -import com.fiap.stock.domain.errors.ErrorType -import com.fiap.stock.domain.errors.SelfOrderManagementException -import com.fiap.stock.usecases.CreateComponentUseCase -import com.fiap.stock.usecases.LoadComponentUseCase -import com.fiap.stock.usecases.SearchComponentUseCase +import com.fiap.stock.application.domain.entities.Component +import com.fiap.stock.application.domain.entities.Stock +import com.fiap.stock.application.domain.errors.ErrorType +import com.fiap.stock.application.domain.errors.SelfOrderManagementException +import com.fiap.stock.application.usecases.CreateComponentUseCase +import com.fiap.stock.application.usecases.LoadComponentUseCase +import com.fiap.stock.application.usecases.SearchComponentUseCase import org.slf4j.LoggerFactory class ComponentService( diff --git a/src/main/kotlin/com/fiap/stock/application/services/ProductService.kt b/src/main/kotlin/com/fiap/stock/application/services/ProductService.kt index 03b931a..6ae0135 100644 --- a/src/main/kotlin/com/fiap/stock/application/services/ProductService.kt +++ b/src/main/kotlin/com/fiap/stock/application/services/ProductService.kt @@ -1,11 +1,11 @@ -package services +package com.fiap.stock.application.services import com.fiap.stock.application.adapter.gateway.ProductGateway -import com.fiap.stock.domain.entities.Product -import com.fiap.stock.domain.errors.ErrorType -import com.fiap.stock.domain.errors.SelfOrderManagementException -import com.fiap.stock.domain.valueobjects.ProductCategory -import com.fiap.stock.usecases.* +import com.fiap.stock.application.domain.entities.Product +import com.fiap.stock.application.domain.errors.ErrorType +import com.fiap.stock.application.domain.errors.SelfOrderManagementException +import com.fiap.stock.application.domain.valueobjects.ProductCategory +import com.fiap.stock.application.usecases.* import org.slf4j.LoggerFactory class ProductService( diff --git a/src/main/kotlin/com/fiap/stock/application/services/StockService.kt b/src/main/kotlin/com/fiap/stock/application/services/StockService.kt index b96c705..b9992c1 100644 --- a/src/main/kotlin/com/fiap/stock/application/services/StockService.kt +++ b/src/main/kotlin/com/fiap/stock/application/services/StockService.kt @@ -1,11 +1,11 @@ -package services +package com.fiap.stock.application.services import com.fiap.stock.application.adapter.gateway.StockGateway -import com.fiap.stock.domain.entities.Stock -import com.fiap.stock.domain.errors.ErrorType -import com.fiap.stock.domain.errors.SelfOrderManagementException -import com.fiap.stock.usecases.AdjustStockUseCase -import com.fiap.stock.usecases.LoadStockUseCase +import com.fiap.stock.application.domain.entities.Stock +import com.fiap.stock.application.domain.errors.ErrorType +import com.fiap.stock.application.domain.errors.SelfOrderManagementException +import com.fiap.stock.application.usecases.AdjustStockUseCase +import com.fiap.stock.application.usecases.LoadStockUseCase import org.slf4j.LoggerFactory class StockService( diff --git a/src/main/kotlin/com/fiap/stock/usecases/AdjustStockUseCase.kt b/src/main/kotlin/com/fiap/stock/application/usecases/AdjustStockUseCase.kt similarity index 62% rename from src/main/kotlin/com/fiap/stock/usecases/AdjustStockUseCase.kt rename to src/main/kotlin/com/fiap/stock/application/usecases/AdjustStockUseCase.kt index 5549212..b6bd651 100644 --- a/src/main/kotlin/com/fiap/stock/usecases/AdjustStockUseCase.kt +++ b/src/main/kotlin/com/fiap/stock/application/usecases/AdjustStockUseCase.kt @@ -1,6 +1,6 @@ -package com.fiap.stock.usecases +package com.fiap.stock.application.usecases -import com.fiap.stock.domain.entities.Stock +import com.fiap.stock.application.domain.entities.Stock interface AdjustStockUseCase { fun increment(componentNumber: Long, quantity: Long): Stock diff --git a/src/main/kotlin/com/fiap/stock/usecases/AssembleProductsUseCase.kt b/src/main/kotlin/com/fiap/stock/application/usecases/AssembleProductsUseCase.kt similarity index 74% rename from src/main/kotlin/com/fiap/stock/usecases/AssembleProductsUseCase.kt rename to src/main/kotlin/com/fiap/stock/application/usecases/AssembleProductsUseCase.kt index 75dcc5a..c3677d9 100644 --- a/src/main/kotlin/com/fiap/stock/usecases/AssembleProductsUseCase.kt +++ b/src/main/kotlin/com/fiap/stock/application/usecases/AssembleProductsUseCase.kt @@ -1,6 +1,6 @@ -package com.fiap.stock.usecases +package com.fiap.stock.application.usecases -import com.fiap.stock.domain.entities.Product +import com.fiap.stock.application.domain.entities.Product interface AssembleProductsUseCase { fun compose(productNumber: Long, subitemsNumbers: List): Product? diff --git a/src/main/kotlin/com/fiap/stock/usecases/CreateComponentUseCase.kt b/src/main/kotlin/com/fiap/stock/application/usecases/CreateComponentUseCase.kt similarity index 51% rename from src/main/kotlin/com/fiap/stock/usecases/CreateComponentUseCase.kt rename to src/main/kotlin/com/fiap/stock/application/usecases/CreateComponentUseCase.kt index 80545ae..71c3319 100644 --- a/src/main/kotlin/com/fiap/stock/usecases/CreateComponentUseCase.kt +++ b/src/main/kotlin/com/fiap/stock/application/usecases/CreateComponentUseCase.kt @@ -1,6 +1,6 @@ -package com.fiap.stock.usecases +package com.fiap.stock.application.usecases -import com.fiap.stock.domain.entities.Component +import com.fiap.stock.application.domain.entities.Component interface CreateComponentUseCase { fun create(component: Component, initialQuantity: Long): Component diff --git a/src/main/kotlin/com/fiap/stock/usecases/LoadComponentUseCase.kt b/src/main/kotlin/com/fiap/stock/application/usecases/LoadComponentUseCase.kt similarity index 66% rename from src/main/kotlin/com/fiap/stock/usecases/LoadComponentUseCase.kt rename to src/main/kotlin/com/fiap/stock/application/usecases/LoadComponentUseCase.kt index e487264..9cc3572 100644 --- a/src/main/kotlin/com/fiap/stock/usecases/LoadComponentUseCase.kt +++ b/src/main/kotlin/com/fiap/stock/application/usecases/LoadComponentUseCase.kt @@ -1,6 +1,6 @@ -package com.fiap.stock.usecases +package com.fiap.stock.application.usecases -import com.fiap.stock.domain.entities.Component +import com.fiap.stock.application.domain.entities.Component interface LoadComponentUseCase { fun getByComponentNumber(componentNumber: Long): Component diff --git a/src/main/kotlin/com/fiap/stock/usecases/LoadProductUseCase.kt b/src/main/kotlin/com/fiap/stock/application/usecases/LoadProductUseCase.kt similarity index 52% rename from src/main/kotlin/com/fiap/stock/usecases/LoadProductUseCase.kt rename to src/main/kotlin/com/fiap/stock/application/usecases/LoadProductUseCase.kt index 7fac29b..0707896 100644 --- a/src/main/kotlin/com/fiap/stock/usecases/LoadProductUseCase.kt +++ b/src/main/kotlin/com/fiap/stock/application/usecases/LoadProductUseCase.kt @@ -1,7 +1,7 @@ -package com.fiap.stock.usecases +package com.fiap.stock.application.usecases -import com.fiap.stock.domain.entities.Product -import com.fiap.stock.domain.valueobjects.ProductCategory +import com.fiap.stock.application.domain.entities.Product +import com.fiap.stock.application.domain.valueobjects.ProductCategory interface LoadProductUseCase { fun getByProductNumber(productNumber: Long): Product diff --git a/src/main/kotlin/com/fiap/stock/application/usecases/LoadStockUseCase.kt b/src/main/kotlin/com/fiap/stock/application/usecases/LoadStockUseCase.kt new file mode 100644 index 0000000..979bd4c --- /dev/null +++ b/src/main/kotlin/com/fiap/stock/application/usecases/LoadStockUseCase.kt @@ -0,0 +1,7 @@ +package com.fiap.stock.application.usecases + +import com.fiap.stock.application.domain.entities.Stock + +interface LoadStockUseCase { + fun getByComponentNumber(componentNumber: Long): Stock +} diff --git a/src/main/kotlin/com/fiap/stock/application/usecases/RemoveProductUseCase.kt b/src/main/kotlin/com/fiap/stock/application/usecases/RemoveProductUseCase.kt new file mode 100644 index 0000000..f345809 --- /dev/null +++ b/src/main/kotlin/com/fiap/stock/application/usecases/RemoveProductUseCase.kt @@ -0,0 +1,7 @@ +package com.fiap.stock.application.usecases + +import com.fiap.stock.application.domain.entities.Product + +interface RemoveProductUseCase { + fun delete(productNumber: Long): Product +} diff --git a/src/main/kotlin/com/fiap/stock/application/usecases/SearchComponentUseCase.kt b/src/main/kotlin/com/fiap/stock/application/usecases/SearchComponentUseCase.kt new file mode 100644 index 0000000..5dcb708 --- /dev/null +++ b/src/main/kotlin/com/fiap/stock/application/usecases/SearchComponentUseCase.kt @@ -0,0 +1,7 @@ +package com.fiap.stock.application.usecases + +import com.fiap.stock.application.domain.entities.Component + +interface SearchComponentUseCase { + fun searchByName(componentName: String): List +} diff --git a/src/main/kotlin/com/fiap/stock/application/usecases/SearchProductUseCase.kt b/src/main/kotlin/com/fiap/stock/application/usecases/SearchProductUseCase.kt new file mode 100644 index 0000000..2a87a90 --- /dev/null +++ b/src/main/kotlin/com/fiap/stock/application/usecases/SearchProductUseCase.kt @@ -0,0 +1,7 @@ +package com.fiap.stock.application.usecases + +import com.fiap.stock.application.domain.entities.Product + +interface SearchProductUseCase { + fun searchByName(productName: String): List +} diff --git a/src/main/kotlin/com/fiap/stock/driver/database/persistence/jpa/StockJpaRepository.kt b/src/main/kotlin/com/fiap/stock/driver/database/persistence/jpa/StockJpaRepository.kt deleted file mode 100644 index aecc2ab..0000000 --- a/src/main/kotlin/com/fiap/stock/driver/database/persistence/jpa/StockJpaRepository.kt +++ /dev/null @@ -1,6 +0,0 @@ -package com.fiap.stock.driver.database.persistence.jpa - -import com.fiap.stock.driver.database.persistence.entities.StockEntity -import org.springframework.data.repository.CrudRepository - -interface StockJpaRepository : CrudRepository diff --git a/src/main/kotlin/com/fiap/stock/driver/database/persistence/mapper/ComponentMapper.kt b/src/main/kotlin/com/fiap/stock/driver/database/persistence/mapper/ComponentMapper.kt deleted file mode 100644 index 05a78d2..0000000 --- a/src/main/kotlin/com/fiap/stock/driver/database/persistence/mapper/ComponentMapper.kt +++ /dev/null @@ -1,12 +0,0 @@ -package com.fiap.stock.driver.database.persistence.mapper - -import com.fiap.stock.domain.entities.Component -import com.fiap.stock.driver.database.persistence.entities.ComponentEntity -import org.mapstruct.Mapper - -@Mapper -interface ComponentMapper { - fun toDomain(entity: ComponentEntity): Component - - fun toEntity(domain: Component): ComponentEntity -} diff --git a/src/main/kotlin/com/fiap/stock/driver/database/persistence/mapper/StockMapper.kt b/src/main/kotlin/com/fiap/stock/driver/database/persistence/mapper/StockMapper.kt deleted file mode 100644 index 3535ea9..0000000 --- a/src/main/kotlin/com/fiap/stock/driver/database/persistence/mapper/StockMapper.kt +++ /dev/null @@ -1,12 +0,0 @@ -package com.fiap.stock.driver.database.persistence.mapper - -import com.fiap.stock.domain.entities.Stock -import com.fiap.stock.driver.database.persistence.entities.StockEntity -import org.mapstruct.Mapper - -@Mapper -interface StockMapper { - fun toDomain(entity: StockEntity): Stock - - fun toEntity(domain: Stock): StockEntity -} diff --git a/src/main/kotlin/com/fiap/stock/usecases/LoadStockUseCase.kt b/src/main/kotlin/com/fiap/stock/usecases/LoadStockUseCase.kt deleted file mode 100644 index 37693b3..0000000 --- a/src/main/kotlin/com/fiap/stock/usecases/LoadStockUseCase.kt +++ /dev/null @@ -1,7 +0,0 @@ -package com.fiap.stock.usecases - -import com.fiap.stock.domain.entities.Stock - -interface LoadStockUseCase { - fun getByComponentNumber(componentNumber: Long): Stock -} diff --git a/src/main/kotlin/com/fiap/stock/usecases/RemoveProductUseCase.kt b/src/main/kotlin/com/fiap/stock/usecases/RemoveProductUseCase.kt deleted file mode 100644 index 8c945be..0000000 --- a/src/main/kotlin/com/fiap/stock/usecases/RemoveProductUseCase.kt +++ /dev/null @@ -1,7 +0,0 @@ -package com.fiap.stock.usecases - -import com.fiap.stock.domain.entities.Product - -interface RemoveProductUseCase { - fun delete(productNumber: Long): Product -} diff --git a/src/main/kotlin/com/fiap/stock/usecases/SearchComponentUseCase.kt b/src/main/kotlin/com/fiap/stock/usecases/SearchComponentUseCase.kt deleted file mode 100644 index 72e66fb..0000000 --- a/src/main/kotlin/com/fiap/stock/usecases/SearchComponentUseCase.kt +++ /dev/null @@ -1,7 +0,0 @@ -package com.fiap.stock.usecases - -import com.fiap.stock.domain.entities.Component - -interface SearchComponentUseCase { - fun searchByName(componentName: String): List -} diff --git a/src/main/kotlin/com/fiap/stock/usecases/SearchProductUseCase.kt b/src/main/kotlin/com/fiap/stock/usecases/SearchProductUseCase.kt deleted file mode 100644 index 7384f90..0000000 --- a/src/main/kotlin/com/fiap/stock/usecases/SearchProductUseCase.kt +++ /dev/null @@ -1,7 +0,0 @@ -package com.fiap.stock.usecases - -import com.fiap.stock.domain.entities.Product - -interface SearchProductUseCase { - fun searchByName(productName: String): List -} diff --git a/src/test/kotlin/IntegrationTestFixtures.kt b/src/test/kotlin/IntegrationTestFixtures.kt index 44dda0e..1715a8f 100644 --- a/src/test/kotlin/IntegrationTestFixtures.kt +++ b/src/test/kotlin/IntegrationTestFixtures.kt @@ -1,6 +1,6 @@ -import com.fiap.stock.domain.valueobjects.ProductCategory -import com.fiap.stock.driver.web.request.ComponentRequest -import com.fiap.stock.driver.web.request.ProductRequest +import com.fiap.stock.application.domain.valueobjects.ProductCategory +import com.fiap.stock.application.driver.web.request.ComponentRequest +import com.fiap.stock.application.driver.web.request.ProductRequest import java.math.BigDecimal fun createProductRequest( diff --git a/src/test/kotlin/TestFixtures.kt b/src/test/kotlin/TestFixtures.kt index d5e16e9..11beee3 100644 --- a/src/test/kotlin/TestFixtures.kt +++ b/src/test/kotlin/TestFixtures.kt @@ -1,7 +1,7 @@ -import com.fiap.stock.domain.entities.Component -import com.fiap.stock.domain.entities.Product -import com.fiap.stock.domain.entities.Stock -import com.fiap.stock.domain.valueobjects.ProductCategory +import com.fiap.stock.application.domain.entities.Component +import com.fiap.stock.application.domain.entities.Product +import com.fiap.stock.application.domain.entities.Stock +import com.fiap.stock.application.domain.valueobjects.ProductCategory import java.math.BigDecimal fun createProduct( diff --git a/src/test/kotlin/com/fiap/stock/adapter/controller/ComponentControllerTest.kt b/src/test/kotlin/com/fiap/stock/adapter/controller/ComponentControllerTest.kt deleted file mode 100644 index 2e0e5f7..0000000 --- a/src/test/kotlin/com/fiap/stock/adapter/controller/ComponentControllerTest.kt +++ /dev/null @@ -1,4 +0,0 @@ -package com.fiap.stock.adapter.controller - -class ComponentControllerTest { -} \ No newline at end of file diff --git a/src/test/kotlin/com/fiap/stock/adapter/controller/ProductControllerTest.kt b/src/test/kotlin/com/fiap/stock/adapter/controller/ProductControllerTest.kt deleted file mode 100644 index c0aa835..0000000 --- a/src/test/kotlin/com/fiap/stock/adapter/controller/ProductControllerTest.kt +++ /dev/null @@ -1,4 +0,0 @@ -package com.fiap.stock.adapter.controller - -class ProductControllerTest { -} \ No newline at end of file diff --git a/src/test/kotlin/com/fiap/stock/adapter/controller/StockControllerTest.kt b/src/test/kotlin/com/fiap/stock/adapter/controller/StockControllerTest.kt deleted file mode 100644 index bd9f517..0000000 --- a/src/test/kotlin/com/fiap/stock/adapter/controller/StockControllerTest.kt +++ /dev/null @@ -1,4 +0,0 @@ -package com.fiap.stock.adapter.controller - -class StockControllerTest { -} \ No newline at end of file diff --git a/src/test/kotlin/com/fiap/stock/application/adapter/controller/ComponentControllerTest.kt b/src/test/kotlin/com/fiap/stock/application/adapter/controller/ComponentControllerTest.kt new file mode 100644 index 0000000..bcd00e0 --- /dev/null +++ b/src/test/kotlin/com/fiap/stock/application/adapter/controller/ComponentControllerTest.kt @@ -0,0 +1,4 @@ +package com.fiap.stock.application.adapter.controller + +class ComponentControllerTest { +} \ No newline at end of file diff --git a/src/test/kotlin/com/fiap/stock/adapter/controller/MenuControllerTest.kt b/src/test/kotlin/com/fiap/stock/application/adapter/controller/MenuControllerTest.kt similarity index 92% rename from src/test/kotlin/com/fiap/stock/adapter/controller/MenuControllerTest.kt rename to src/test/kotlin/com/fiap/stock/application/adapter/controller/MenuControllerTest.kt index f329ada..ebcbbb8 100644 --- a/src/test/kotlin/com/fiap/stock/adapter/controller/MenuControllerTest.kt +++ b/src/test/kotlin/com/fiap/stock/application/adapter/controller/MenuControllerTest.kt @@ -1,9 +1,8 @@ -package com.fiap.stock.adapter.controller +package com.fiap.stock.application.adapter.controller -import com.fiap.stock.application.adapter.controller.MenuController -import com.fiap.stock.domain.valueobjects.ProductCategory -import com.fiap.stock.usecases.LoadProductUseCase -import com.fiap.stock.usecases.SearchProductUseCase +import com.fiap.stock.application.domain.valueobjects.ProductCategory +import com.fiap.stock.application.usecases.LoadProductUseCase +import com.fiap.stock.application.usecases.SearchProductUseCase import createProduct import io.mockk.every import io.mockk.mockk diff --git a/src/test/kotlin/com/fiap/stock/application/adapter/controller/ProductControllerTest.kt b/src/test/kotlin/com/fiap/stock/application/adapter/controller/ProductControllerTest.kt new file mode 100644 index 0000000..81200c3 --- /dev/null +++ b/src/test/kotlin/com/fiap/stock/application/adapter/controller/ProductControllerTest.kt @@ -0,0 +1,4 @@ +package com.fiap.stock.application.adapter.controller + +class ProductControllerTest { +} \ No newline at end of file diff --git a/src/test/kotlin/com/fiap/stock/application/adapter/controller/StockControllerTest.kt b/src/test/kotlin/com/fiap/stock/application/adapter/controller/StockControllerTest.kt new file mode 100644 index 0000000..c073be4 --- /dev/null +++ b/src/test/kotlin/com/fiap/stock/application/adapter/controller/StockControllerTest.kt @@ -0,0 +1,4 @@ +package com.fiap.stock.application.adapter.controller + +class StockControllerTest { +} \ No newline at end of file diff --git a/src/test/kotlin/com/fiap/stock/application/services/ComponentServiceTest.kt b/src/test/kotlin/com/fiap/stock/application/services/ComponentServiceTest.kt index 14a5be4..01a7b3f 100644 --- a/src/test/kotlin/com/fiap/stock/application/services/ComponentServiceTest.kt +++ b/src/test/kotlin/com/fiap/stock/application/services/ComponentServiceTest.kt @@ -3,9 +3,8 @@ package com.fiap.stock.application.services import com.fiap.stock.application.adapter.gateway.ComponentGateway import com.fiap.stock.application.adapter.gateway.ProductGateway import com.fiap.stock.application.adapter.gateway.StockGateway -import com.fiap.stock.domain.errors.ErrorType -import com.fiap.stock.domain.errors.SelfOrderManagementException -import com.fiap.stock.application.services.ComponentService +import com.fiap.stock.application.domain.errors.ErrorType +import com.fiap.stock.application.domain.errors.SelfOrderManagementException import createComponent import createProduct import io.mockk.every diff --git a/src/test/kotlin/com/fiap/stock/application/services/ProductServiceTest.kt b/src/test/kotlin/com/fiap/stock/application/services/ProductServiceTest.kt index c9872bc..163334e 100644 --- a/src/test/kotlin/com/fiap/stock/application/services/ProductServiceTest.kt +++ b/src/test/kotlin/com/fiap/stock/application/services/ProductServiceTest.kt @@ -1,8 +1,9 @@ package com.fiap.stock.application.services import com.fiap.stock.application.adapter.gateway.ProductGateway -import com.fiap.stock.domain.errors.ErrorType -import com.fiap.stock.domain.errors.SelfOrderManagementException +import com.fiap.stock.application.domain.errors.ErrorType +import com.fiap.stock.application.domain.errors.SelfOrderManagementException +import com.fiap.stock.application.usecases.LoadComponentUseCase import createProduct import io.mockk.every import io.mockk.mockk @@ -12,11 +13,10 @@ import org.assertj.core.api.Assertions.assertThatThrownBy import org.junit.jupiter.api.AfterEach import org.junit.jupiter.api.Nested import org.junit.jupiter.api.Test -import services.ProductService class ProductServiceTest { private val productRepository = mockk() - private val loadInputUseCase = mockk() + private val loadInputUseCase = mockk() private val productService = ProductService( diff --git a/src/test/kotlin/com/fiap/stock/application/services/StockServiceTest.kt b/src/test/kotlin/com/fiap/stock/application/services/StockServiceTest.kt index 568cb80..7c397e0 100644 --- a/src/test/kotlin/com/fiap/stock/application/services/StockServiceTest.kt +++ b/src/test/kotlin/com/fiap/stock/application/services/StockServiceTest.kt @@ -1,8 +1,8 @@ package com.fiap.stock.application.services import com.fiap.stock.application.adapter.gateway.StockGateway -import com.fiap.stock.domain.errors.ErrorType -import com.fiap.stock.domain.errors.SelfOrderManagementException +import com.fiap.stock.application.domain.errors.ErrorType +import com.fiap.stock.application.domain.errors.SelfOrderManagementException import createStock import io.mockk.every import io.mockk.mockk @@ -12,7 +12,6 @@ import org.assertj.core.api.Assertions.assertThatThrownBy import org.junit.jupiter.api.AfterEach import org.junit.jupiter.api.Nested import org.junit.jupiter.api.Test -import services.StockService class StockServiceTest { private val stockRepository = mockk() From ed98e995227768c597c99c84802eb014b2a953dc Mon Sep 17 00:00:00 2001 From: Bleno Claus Date: Sun, 19 May 2024 19:02:38 -0300 Subject: [PATCH 07/19] add ComponentControllerTest --- .../controller/ComponentControllerTest.kt | 98 +++++++++++++++++++ 1 file changed, 98 insertions(+) diff --git a/src/test/kotlin/com/fiap/stock/application/adapter/controller/ComponentControllerTest.kt b/src/test/kotlin/com/fiap/stock/application/adapter/controller/ComponentControllerTest.kt index bcd00e0..0dd9644 100644 --- a/src/test/kotlin/com/fiap/stock/application/adapter/controller/ComponentControllerTest.kt +++ b/src/test/kotlin/com/fiap/stock/application/adapter/controller/ComponentControllerTest.kt @@ -1,4 +1,102 @@ package com.fiap.stock.application.adapter.controller +import com.fiap.stock.application.driver.web.request.ComponentRequest +import com.fiap.stock.application.usecases.CreateComponentUseCase +import com.fiap.stock.application.usecases.LoadComponentUseCase +import com.fiap.stock.application.usecases.SearchComponentUseCase +import createComponent +import io.mockk.every +import io.mockk.mockk +import org.assertj.core.api.Assertions.assertThat +import org.junit.jupiter.api.Nested +import org.junit.jupiter.api.Test + class ComponentControllerTest { + + private val loadComponentUseCase: LoadComponentUseCase = mockk() + private val createComponentUseCase: CreateComponentUseCase = mockk() + private val searchComponentUseCase: SearchComponentUseCase = mockk() + + private val controller = + ComponentController( + loadComponentUseCase = loadComponentUseCase, + searchComponentUseCase = searchComponentUseCase, + createComponentUseCase = createComponentUseCase, + ) + + @Nested + inner class FindFromComponent { + + @Test + fun `findAll should return of all components`() { + val component1 = createComponent(componentNumber = 1) + val component2 = createComponent(componentNumber = 2) + + every { loadComponentUseCase.findAll() } returns listOf(component1, component2) + + val result = controller.findAll() + + assertThat(result.body) + .isNotNull() + .containsExactly(component1, component2) + } + + @Test + fun `findByProductNumber should return of all components from a product`() { + val component1 = createComponent(componentNumber = 1) + + every { loadComponentUseCase.findByProductNumber(1) } returns listOf(component1) + + val result = controller.findByProductNumber(1) + + assertThat(result.body) + .isNotNull() + .containsExactly(component1) + } + + } + + @Nested + inner class SearchFromComponent { + + @Test + fun `searchByName should return of all components with the name`() { + val component = createComponent(componentNumber = 2) + val term = "lata" + + every { searchComponentUseCase.searchByName(term) } returns listOf(component) + + val result = controller.searchByName(term) + + assertThat(result.body) + .isNotNull() + .containsExactly(component) + + } + + } + + @Nested + inner class CreateComponent { + + @Test + fun `create should return a component created`() { + val request = ComponentRequest("Hambúrguer", 10) + val component = request.toComponent() + + every { createComponentUseCase.create(component, 10) } returns component + + var response = controller.create(componentRequest = request) + + assertThat(response.body) + .isNotNull() + .isEqualTo(component) + + } + + } + + + + } \ No newline at end of file From c39a9dfea77cb8acd8aa93d91682a87e7447f493 Mon Sep 17 00:00:00 2001 From: Bleno Claus Date: Sun, 19 May 2024 20:36:31 -0300 Subject: [PATCH 08/19] add ProductControllerTest --- pom.xml | 2 + .../application/domain/entities/Product.kt | 1 - .../controller/ComponentControllerTest.kt | 4 +- .../controller/ProductControllerTest.kt | 133 ++++++++++++++++++ 4 files changed, 138 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index f062e82..8535e25 100644 --- a/pom.xml +++ b/pom.xml @@ -373,6 +373,8 @@ **/*Config.* + **/config/* + **/configuration/* **/*Mapper.* diff --git a/src/main/kotlin/com/fiap/stock/application/domain/entities/Product.kt b/src/main/kotlin/com/fiap/stock/application/domain/entities/Product.kt index 062fbed..5b7aa8c 100644 --- a/src/main/kotlin/com/fiap/stock/application/domain/entities/Product.kt +++ b/src/main/kotlin/com/fiap/stock/application/domain/entities/Product.kt @@ -26,5 +26,4 @@ data class Product( components = newProduct.components, ) - fun isLogicalItem() = components.isEmpty() } diff --git a/src/test/kotlin/com/fiap/stock/application/adapter/controller/ComponentControllerTest.kt b/src/test/kotlin/com/fiap/stock/application/adapter/controller/ComponentControllerTest.kt index 0dd9644..97d6532 100644 --- a/src/test/kotlin/com/fiap/stock/application/adapter/controller/ComponentControllerTest.kt +++ b/src/test/kotlin/com/fiap/stock/application/adapter/controller/ComponentControllerTest.kt @@ -30,7 +30,9 @@ class ComponentControllerTest { @Test fun `findAll should return of all components`() { val component1 = createComponent(componentNumber = 1) - val component2 = createComponent(componentNumber = 2) + val component2 = createComponent(componentNumber = 2).update( + component1 + ) every { loadComponentUseCase.findAll() } returns listOf(component1, component2) diff --git a/src/test/kotlin/com/fiap/stock/application/adapter/controller/ProductControllerTest.kt b/src/test/kotlin/com/fiap/stock/application/adapter/controller/ProductControllerTest.kt index 81200c3..8ddf4dd 100644 --- a/src/test/kotlin/com/fiap/stock/application/adapter/controller/ProductControllerTest.kt +++ b/src/test/kotlin/com/fiap/stock/application/adapter/controller/ProductControllerTest.kt @@ -1,4 +1,137 @@ package com.fiap.stock.application.adapter.controller +import com.fiap.stock.application.domain.valueobjects.ProductCategory +import com.fiap.stock.application.driver.web.request.ProductRequest +import com.fiap.stock.application.driver.web.response.ProductResponse +import com.fiap.stock.application.usecases.AssembleProductsUseCase +import com.fiap.stock.application.usecases.LoadProductUseCase +import com.fiap.stock.application.usecases.SearchProductUseCase +import createProductRequest +import io.mockk.every +import io.mockk.mockk +import org.assertj.core.api.Assertions.assertThat +import org.junit.jupiter.api.Nested +import org.junit.jupiter.api.Test + class ProductControllerTest { + + private val assembleProductsUseCase: AssembleProductsUseCase = mockk() + private val loadProductUseCase: LoadProductUseCase = mockk() + private val searchProductUseCase: SearchProductUseCase = mockk() + + private val controller = + ProductController( + assembleProductsUseCase = assembleProductsUseCase, + loadProductUseCase = loadProductUseCase, + searchProductUseCase = searchProductUseCase + ) + + + @Nested + inner class CrudProduct { + + @Test + fun `create should return product created`() { + + val request = createProductRequest() + val product = request.toDomain() + val completeProduct = product.copy(number = 1).update(product.copy(name = "batata")) + + every { assembleProductsUseCase.create(product, request.components) } returns completeProduct + + val response = controller.create(request) + + assertThat(response.statusCode.value()) + .isEqualTo(200) + + assertThat(response.body) + .isNotNull() + .isInstanceOf(ProductResponse::class.java) + } + + @Test + fun `updated should return product updated`() { + + val request = createProductRequest() + val product = request.toDomain() + + every { assembleProductsUseCase.update(product.copy(number = 1), request.components) } returns product.copy(number = 1) + + val response = controller.update(1, request) + + assertThat(response.statusCode.value()) + .isEqualTo(200) + + } + + } + + @Nested + inner class GetProduct { + + @Test + fun `getByProductNumber should return product by number`() { + + val product = createProductRequest().toDomain() + + every { loadProductUseCase.getByProductNumber(1) } returns product.copy(number = 1) + + val response = controller.getByProductNumber(1) + + assertThat(response.statusCode.value()) + .isEqualTo(200) + } + + + @Test + fun `findAll should return all products`() { + + val product = createProductRequest().toDomain() + + every { loadProductUseCase.findAll() } returns arrayListOf(product.copy(number = 1)) + + val response = controller.findAll() + + assertThat(response.statusCode.value()) + .isEqualTo(200) + + assertThat(response.body) + .isNotNull() + + } + + @Test + fun `findByCategory should return all from a category`() { + + val product = createProductRequest().toDomain() + + every { loadProductUseCase.findByCategory(ProductCategory.DRINK) } returns arrayListOf(product.copy(number = 1)) + + val response = controller.findByCategory("DRINK") + + assertThat(response.statusCode.value()) + .isEqualTo(200) + + assertThat(response.body) + .isNotNull() + } + + @Test + fun `searchByName should return all products by name`() { + val product = createProductRequest().toDomain() + + every { searchProductUseCase.searchByName("coca") } returns arrayListOf(product.copy(number = 1, name = "coca")) + + val response = controller.searchByName("coca") + + assertThat(response.statusCode.value()) + .isEqualTo(200) + + assertThat(response.body) + .isNotNull() + } + } + + + } \ No newline at end of file From aec0cc4547406d653e1dd48dacaaaee1622db67a Mon Sep 17 00:00:00 2001 From: Bleno Claus Date: Sun, 19 May 2024 20:49:40 -0300 Subject: [PATCH 09/19] add ProductControllerTest --- .../controller/ProductControllerTest.kt | 37 ++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/src/test/kotlin/com/fiap/stock/application/adapter/controller/ProductControllerTest.kt b/src/test/kotlin/com/fiap/stock/application/adapter/controller/ProductControllerTest.kt index 8ddf4dd..39abd03 100644 --- a/src/test/kotlin/com/fiap/stock/application/adapter/controller/ProductControllerTest.kt +++ b/src/test/kotlin/com/fiap/stock/application/adapter/controller/ProductControllerTest.kt @@ -1,11 +1,12 @@ package com.fiap.stock.application.adapter.controller import com.fiap.stock.application.domain.valueobjects.ProductCategory -import com.fiap.stock.application.driver.web.request.ProductRequest +import com.fiap.stock.application.driver.web.request.ProductComposeRequest import com.fiap.stock.application.driver.web.response.ProductResponse import com.fiap.stock.application.usecases.AssembleProductsUseCase import com.fiap.stock.application.usecases.LoadProductUseCase import com.fiap.stock.application.usecases.SearchProductUseCase +import createProduct import createProductRequest import io.mockk.every import io.mockk.mockk @@ -64,6 +65,40 @@ class ProductControllerTest { } + @Test + fun `delete should return product deleted`() { + val request = createProductRequest() + val product = request.toDomain() + + every { assembleProductsUseCase.delete(1) } returns product.copy(number = 1) + + val response = controller.delete(1) + + assertThat(response.statusCode.value()) + .isEqualTo(200) + } + + @Test + fun `compose should return product composed`() { + val request = ProductComposeRequest(1, arrayListOf(2,3)) + val p2 = createProduct(number = 2) + val p3 = createProduct(number = 3) + + val p1 = createProduct(subitems = arrayListOf(p2, p3)) + + + every { assembleProductsUseCase.compose( + request.productNumber, + request.subItemsNumbers, + ) } returns p1 + + val response = controller.compose(request) + + assertThat(response.statusCode.value()) + .isEqualTo(200) + + } + } @Nested From ee7cc6fe5002167e5a7c0cb566d72c931d8348a4 Mon Sep 17 00:00:00 2001 From: Bleno Claus Date: Sun, 19 May 2024 21:36:40 -0300 Subject: [PATCH 10/19] add ComponentGatewayTest --- pom.xml | 6 +- .../controller/ComponentControllerTest.kt | 2 +- .../adapter/gateway/ComponentGatewayTest.kt | 173 ++++++++++++++++++ .../adapter/gateway/ProductGatewayTest.kt | 4 + .../adapter/gateway/StockGatewayTest.kt | 4 + .../gateway/TransactionalGatewayTest.kt | 4 + 6 files changed, 189 insertions(+), 4 deletions(-) create mode 100644 src/test/kotlin/com/fiap/stock/application/adapter/gateway/ComponentGatewayTest.kt create mode 100644 src/test/kotlin/com/fiap/stock/application/adapter/gateway/ProductGatewayTest.kt create mode 100644 src/test/kotlin/com/fiap/stock/application/adapter/gateway/StockGatewayTest.kt create mode 100644 src/test/kotlin/com/fiap/stock/application/adapter/gateway/TransactionalGatewayTest.kt diff --git a/pom.xml b/pom.xml index 8535e25..7d54fab 100644 --- a/pom.xml +++ b/pom.xml @@ -372,9 +372,9 @@ 0.8.12 - **/*Config.* - **/config/* - **/configuration/* + **/**/*Config.* + **/**/config/* + **/**/configuration/* **/*Mapper.* diff --git a/src/test/kotlin/com/fiap/stock/application/adapter/controller/ComponentControllerTest.kt b/src/test/kotlin/com/fiap/stock/application/adapter/controller/ComponentControllerTest.kt index 97d6532..9ade2b3 100644 --- a/src/test/kotlin/com/fiap/stock/application/adapter/controller/ComponentControllerTest.kt +++ b/src/test/kotlin/com/fiap/stock/application/adapter/controller/ComponentControllerTest.kt @@ -64,7 +64,7 @@ class ComponentControllerTest { @Test fun `searchByName should return of all components with the name`() { val component = createComponent(componentNumber = 2) - val term = "lata" + val term = ComponentRequest("Hambúrguer", 10).name every { searchComponentUseCase.searchByName(term) } returns listOf(component) diff --git a/src/test/kotlin/com/fiap/stock/application/adapter/gateway/ComponentGatewayTest.kt b/src/test/kotlin/com/fiap/stock/application/adapter/gateway/ComponentGatewayTest.kt new file mode 100644 index 0000000..3860817 --- /dev/null +++ b/src/test/kotlin/com/fiap/stock/application/adapter/gateway/ComponentGatewayTest.kt @@ -0,0 +1,173 @@ +package com.fiap.stock.application.adapter.gateway + +import com.fiap.stock.application.adapter.gateway.impl.ComponentGatewayImpl +import com.fiap.stock.application.domain.errors.SelfOrderManagementException +import com.fiap.stock.application.driver.database.persistence.jpa.ComponentJpaRepository +import com.fiap.stock.application.driver.database.persistence.mapper.ComponentMapper +import createComponent +import io.mockk.every +import io.mockk.mockk +import org.assertj.core.api.Assertions.assertThat +import org.junit.jupiter.api.Nested +import org.junit.jupiter.api.Test +import org.junit.jupiter.api.assertThrows +import org.mapstruct.factory.Mappers +import java.util.* + +class ComponentGatewayTest { + + private val componentJpaRepository: ComponentJpaRepository = mockk() + + private val gateway : ComponentGateway = ComponentGatewayImpl(componentJpaRepository) + + private val mapper = Mappers.getMapper(ComponentMapper::class.java) + + + @Nested + inner class CrudComponent { + + @Test + fun `create should return component created`() { + + val component = createComponent() + + every { componentJpaRepository.save(any()) } returns mapper.toEntity(component) + + val response = gateway.create(component) + + assertThat(response) + .isNotNull() + .isEqualTo(component) + + } + + @Test + fun `update should return component updated`() { + + val component = createComponent().copy(number = 1) + + every { componentJpaRepository.save(any()) } returns mapper.toEntity(component) + every { componentJpaRepository.findById(1) } returns Optional.of(mapper.toEntity(component)) + + + val response = gateway.update(component) + + assertThat(response) + .isNotNull() + .isEqualTo(component) + } + + @Test + fun `update if not exist should return exception`() { + + val component = createComponent().copy(number = 1) + + every { componentJpaRepository.save(any()) } returns mapper.toEntity(component) + every { componentJpaRepository.findById(1) } returns Optional.empty() + + + assertThrows { + gateway.update(component) + } + + val componentNullable = createComponent().copy(number = null) + + assertThrows { + gateway.update(componentNullable) + } + + } + + @Test + fun `delete should exception if not exist`() { + + val component = createComponent().copy(number = 1) + + every { componentJpaRepository.deleteById(1) } returns Unit + every { componentJpaRepository.findById(1) } returns Optional.empty() + + + assertThrows { + gateway.delete(component) + } + + } + + @Test + fun `delete should return component deleted`() { + + val component = createComponent().copy(number = 1) + + every { componentJpaRepository.deleteById(1) } returns Unit + every { componentJpaRepository.findById(1) } returns Optional.of(mapper.toEntity(component)) + + + val result = gateway.delete(component) + + assertThat(result).isNotNull() + } + + @Test + fun `deleteAll should return nothing`() { + + every { componentJpaRepository.deleteAll() } returns Unit + + gateway.deleteAll() + } + + + + } + + @Nested + inner class FindComponent { + + @Test + fun `findAll should return all components`() { + val component1 = createComponent(componentNumber = 1) + + every { componentJpaRepository.findAll() } returns listOf(component1).map { mapper.toEntity(it) } + val result = gateway.findAll() + + assertThat(result).isNotEmpty() + + } + + @Test + fun `findByComponentNumber should return a component by number`() { + + val component1 = createComponent(componentNumber = 1) + + every { componentJpaRepository.findById(1) } returns Optional.of(mapper.toEntity(component1)) + val result = gateway.findByComponentNumber(1) + + assertThat(result).isNotNull() + + } + + @Test + fun `findByComponentNumber should return null if not exist`() { + + every { componentJpaRepository.findById(1) } returns Optional.empty() + val result = gateway.findByComponentNumber(1) + + assertThat(result).isNull() + + } + + @Test + fun `searchByName should return a component by name`() { + val component1 = createComponent(componentNumber = 1, name = "batata") + + every { componentJpaRepository.findByNameContainingIgnoreCase("batata") } returns listOf(component1).map { mapper.toEntity(it) } + + val result = gateway.searchByName("batata") + + assertThat(result).isNotNull() + + } + + } + + +} \ No newline at end of file diff --git a/src/test/kotlin/com/fiap/stock/application/adapter/gateway/ProductGatewayTest.kt b/src/test/kotlin/com/fiap/stock/application/adapter/gateway/ProductGatewayTest.kt new file mode 100644 index 0000000..46ef4d1 --- /dev/null +++ b/src/test/kotlin/com/fiap/stock/application/adapter/gateway/ProductGatewayTest.kt @@ -0,0 +1,4 @@ +package com.fiap.stock.application.adapter.gateway + +class ProductGatewayTest { +} \ No newline at end of file diff --git a/src/test/kotlin/com/fiap/stock/application/adapter/gateway/StockGatewayTest.kt b/src/test/kotlin/com/fiap/stock/application/adapter/gateway/StockGatewayTest.kt new file mode 100644 index 0000000..b21bafd --- /dev/null +++ b/src/test/kotlin/com/fiap/stock/application/adapter/gateway/StockGatewayTest.kt @@ -0,0 +1,4 @@ +package com.fiap.stock.application.adapter.gateway + +class StockGatewayTest { +} \ No newline at end of file diff --git a/src/test/kotlin/com/fiap/stock/application/adapter/gateway/TransactionalGatewayTest.kt b/src/test/kotlin/com/fiap/stock/application/adapter/gateway/TransactionalGatewayTest.kt new file mode 100644 index 0000000..f12a1b4 --- /dev/null +++ b/src/test/kotlin/com/fiap/stock/application/adapter/gateway/TransactionalGatewayTest.kt @@ -0,0 +1,4 @@ +package com.fiap.stock.application.adapter.gateway + +class TransactionalGatewayTest { +} \ No newline at end of file From ee86559980c67cc8f49fc9f691bd9224374d9ac2 Mon Sep 17 00:00:00 2001 From: Bleno Claus Date: Sun, 19 May 2024 22:13:29 -0300 Subject: [PATCH 11/19] add ProductGatewayTest --- pom.xml | 10 +- .../adapter/controller/StockControllerTest.kt | 36 ++++ .../adapter/gateway/ProductGatewayTest.kt | 191 ++++++++++++++++++ 3 files changed, 233 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 7d54fab..6db2b02 100644 --- a/pom.xml +++ b/pom.xml @@ -372,10 +372,12 @@ 0.8.12 - **/**/*Config.* - **/**/config/* - **/**/configuration/* - **/*Mapper.* + >**/com/fiap/stock/application/driver/database/configuration/GatewayConfig.kt + >**/com/fiap/stock/application/config/JWTSecurityConfig.kt + >**/com/fiap/stock/application/config/RestTemplateConfig.kt + >**/com/fiap/stock/application/adapter/controller/configuration/ServiceConfig.kt + **/com/fiap/stock/application/**/configuration/** + diff --git a/src/test/kotlin/com/fiap/stock/application/adapter/controller/StockControllerTest.kt b/src/test/kotlin/com/fiap/stock/application/adapter/controller/StockControllerTest.kt index c073be4..8f52ab3 100644 --- a/src/test/kotlin/com/fiap/stock/application/adapter/controller/StockControllerTest.kt +++ b/src/test/kotlin/com/fiap/stock/application/adapter/controller/StockControllerTest.kt @@ -1,4 +1,40 @@ package com.fiap.stock.application.adapter.controller +import com.fiap.stock.application.domain.entities.Stock +import com.fiap.stock.application.driver.web.request.QuantityRequest +import com.fiap.stock.application.usecases.AdjustStockUseCase +import io.mockk.every +import io.mockk.mockk +import org.assertj.core.api.Assertions.assertThat +import org.junit.jupiter.api.Test + class StockControllerTest { + + private val adjustStockUseCase: AdjustStockUseCase = mockk() + + private val controller = + StockController( + adjustStockUseCase = adjustStockUseCase + ) + + @Test + fun `increment should increment stock`() { + + every { adjustStockUseCase.increment(any(), any()) } returns Stock(1, 2) + + val result = controller.increment(1, QuantityRequest(1)); + + assertThat(result.body).isEqualTo(Stock(1, 2)) + } + + @Test + fun `decrement should decrement stock`() { + + every { adjustStockUseCase.decrement(any(), any()) } returns Stock(1, 1) + + val result = controller.decrement(1, QuantityRequest(1)); + + assertThat(result.body).isEqualTo(Stock(1, 1)) + } + } \ No newline at end of file diff --git a/src/test/kotlin/com/fiap/stock/application/adapter/gateway/ProductGatewayTest.kt b/src/test/kotlin/com/fiap/stock/application/adapter/gateway/ProductGatewayTest.kt index 46ef4d1..99fcb21 100644 --- a/src/test/kotlin/com/fiap/stock/application/adapter/gateway/ProductGatewayTest.kt +++ b/src/test/kotlin/com/fiap/stock/application/adapter/gateway/ProductGatewayTest.kt @@ -1,4 +1,195 @@ package com.fiap.stock.application.adapter.gateway +import com.fiap.stock.application.adapter.gateway.impl.ProductGatewayImpl +import com.fiap.stock.application.domain.errors.SelfOrderManagementException +import com.fiap.stock.application.domain.valueobjects.ProductCategory +import com.fiap.stock.application.driver.database.persistence.jpa.ProductJpaRepository +import com.fiap.stock.application.driver.database.persistence.mapper.ComponentMapper +import com.fiap.stock.application.driver.database.persistence.mapper.ProductMapper +import createProduct +import io.mockk.every +import io.mockk.mockk +import org.assertj.core.api.Assertions.assertThat +import org.junit.jupiter.api.Nested +import org.junit.jupiter.api.Test +import org.junit.jupiter.api.assertThrows +import org.mapstruct.factory.Mappers +import java.util.* + class ProductGatewayTest { + + private val productJpaRepository: ProductJpaRepository = mockk() + + private val gateway : ProductGateway = ProductGatewayImpl(productJpaRepository) + + private val mapper = Mappers.getMapper(ProductMapper::class.java) + + + @Nested + inner class CrudProduct { + + @Test + fun `create should return product created`() { + + val product = createProduct() + + every { productJpaRepository.save(any()) } returns mapper.toEntity(product.copy(number = 1)) + + val result = gateway.create(product) + + assertThat(result) + .isNotNull() + + } + + @Test + fun `update should return product created`() { + + val product = createProduct().copy(number = 1) + + every { productJpaRepository.save(any()) } returns mapper.toEntity(product) + every { productJpaRepository.findById(1) } returns Optional.of(mapper.toEntity(product)) + + + val result = gateway.update(product) + + assertThat(result) + .isNotNull() + } + + @Test + fun `update should return exception when product not found`() { + + val product = createProduct().copy(number = 1) + + every { productJpaRepository.save(any()) } returns mapper.toEntity(product) + every { productJpaRepository.findById(1) } returns Optional.empty() + + + assertThrows { + gateway.update(product) + } + + assertThrows { + gateway.update(product.copy(number = null)) + } + + } + + @Test + fun `update should return deleted product`() { + + val product = createProduct().copy(number = 1) + + every { productJpaRepository.save(any()) } returns mapper.toEntity(product) + every { productJpaRepository.findById(1) } returns Optional.empty() + + + assertThrows { + gateway.update(product) + } + + assertThrows { + gateway.update(product.copy(number = null)) + } + + } + + @Test + fun `delete should exception if not exist`() { + + every { productJpaRepository.deleteById(1) } returns Unit + every { productJpaRepository.findById(1) } returns Optional.empty() + + + assertThrows { + gateway.delete(1) + } + + } + + @Test + fun `delete should product deleted`() { + val product = createProduct().copy(number = 1) + + every { productJpaRepository.deleteById(1) } returns Unit + every { productJpaRepository.findById(1) } returns Optional.of(mapper.toEntity(product)) + + val response = gateway.delete(1) + + assertThat(response).isNotNull() + } + + @Test + fun `deleteAll should return nothing`() { + + every { productJpaRepository.deleteAll() } returns Unit + + gateway.deleteAll() + } + + } + + @Nested + inner class GetProduct { + + @Test + fun `findAll should return all products`() { + val product = createProduct().copy(number = 1) + + every { productJpaRepository.findAll() } returns listOf(product).map { mapper.toEntity(it) } + val result = gateway.findAll() + + assertThat(result).isNotEmpty() + } + + @Test + fun `findByProductNumber should return a product by number`() { + + val product = createProduct().copy(number = 1) + + every { productJpaRepository.findById(1) } returns Optional.of(mapper.toEntity(product)) + + val result = gateway.findByProductNumber(1) + + assertThat(result).isNotNull() + + } + + @Test + fun `findByComponentNumber should return null if not exist`() { + + every { productJpaRepository.findById(1) } returns Optional.empty() + val result = gateway.findByProductNumber(1) + + assertThat(result).isNull() + } + + @Test + fun `searchByName should return a product by name`() { + val product = createProduct().copy(number = 1) + + every { productJpaRepository.findByNameContainingIgnoreCase("batata") } returns listOf(product).map { mapper.toEntity(it) } + + val result = gateway.searchByName("batata") + + assertThat(result).isNotNull() + + } + + @Test + fun `findByCategory should return a product by name`() { + val product = createProduct().copy(number = 1) + + every { productJpaRepository.findByCategoryIgnoreCase("MAIN") } returns listOf(product).map { mapper.toEntity(it) } + + val result = gateway.findByCategory(ProductCategory.MAIN) + + assertThat(result).isNotNull() + + } + + } + + } \ No newline at end of file From 83455ef3a4f2b5e5480054436a221e81bccdafc7 Mon Sep 17 00:00:00 2001 From: Bleno Claus Date: Sun, 19 May 2024 22:30:39 -0300 Subject: [PATCH 12/19] add StockGatewayTest --- .../adapter/gateway/ProductGatewayTest.kt | 1 - .../adapter/gateway/StockGatewayTest.kt | 105 ++++++++++++++++++ 2 files changed, 105 insertions(+), 1 deletion(-) diff --git a/src/test/kotlin/com/fiap/stock/application/adapter/gateway/ProductGatewayTest.kt b/src/test/kotlin/com/fiap/stock/application/adapter/gateway/ProductGatewayTest.kt index 99fcb21..f33e138 100644 --- a/src/test/kotlin/com/fiap/stock/application/adapter/gateway/ProductGatewayTest.kt +++ b/src/test/kotlin/com/fiap/stock/application/adapter/gateway/ProductGatewayTest.kt @@ -4,7 +4,6 @@ import com.fiap.stock.application.adapter.gateway.impl.ProductGatewayImpl import com.fiap.stock.application.domain.errors.SelfOrderManagementException import com.fiap.stock.application.domain.valueobjects.ProductCategory import com.fiap.stock.application.driver.database.persistence.jpa.ProductJpaRepository -import com.fiap.stock.application.driver.database.persistence.mapper.ComponentMapper import com.fiap.stock.application.driver.database.persistence.mapper.ProductMapper import createProduct import io.mockk.every diff --git a/src/test/kotlin/com/fiap/stock/application/adapter/gateway/StockGatewayTest.kt b/src/test/kotlin/com/fiap/stock/application/adapter/gateway/StockGatewayTest.kt index b21bafd..749015c 100644 --- a/src/test/kotlin/com/fiap/stock/application/adapter/gateway/StockGatewayTest.kt +++ b/src/test/kotlin/com/fiap/stock/application/adapter/gateway/StockGatewayTest.kt @@ -1,4 +1,109 @@ package com.fiap.stock.application.adapter.gateway +import com.fiap.stock.application.adapter.gateway.impl.StockGatewayImpl +import com.fiap.stock.application.domain.errors.SelfOrderManagementException +import com.fiap.stock.application.driver.database.persistence.jpa.StockJpaRepository +import com.fiap.stock.application.driver.database.persistence.mapper.StockMapper +import createStock +import io.mockk.every +import io.mockk.mockk +import org.assertj.core.api.Assertions.assertThat +import org.junit.jupiter.api.Nested +import org.junit.jupiter.api.Test +import org.junit.jupiter.api.assertThrows +import org.mapstruct.factory.Mappers +import java.util.* + class StockGatewayTest { + + private val stockJpaRepository: StockJpaRepository = mockk() + + private val gateway : StockGateway = StockGatewayImpl(stockJpaRepository) + + private val mapper = Mappers.getMapper(StockMapper::class.java) + + @Nested + inner class CrudStock { + + + @Test + fun `create should return product created`() { + val stock = createStock().copy(componentNumber = 1, quantity = 2) + val newStock = stock.update(stock) + + every { stockJpaRepository.save(any()) } returns mapper.toEntity(newStock) + every { stockJpaRepository.findById(1) } returns Optional.empty() + + val result = gateway.create(newStock) + + assertThat(result).isNotNull() + } + + @Test + fun `create should return exception if stock already exists`() { + val stock = createStock().copy(componentNumber = 1) + + every { stockJpaRepository.save(any()) } returns mapper.toEntity(stock) + every { stockJpaRepository.findById(1) } returns Optional.of(mapper.toEntity(stock)) + + + assertThrows { + gateway.create(stock) + } + + } + + @Test + fun `updated should return product updated`() { + val stock = createStock().copy(componentNumber = 1) + + every { stockJpaRepository.save(any()) } returns mapper.toEntity(stock) + every { stockJpaRepository.findById(1) } returns Optional.of(mapper.toEntity(stock)) + + val result = gateway.update(stock) + + assertThat(result).isNotNull() + } + + @Test + fun `updated should return exception if stock not exists`() { + val stock = createStock().copy(componentNumber = 1) + + every { stockJpaRepository.findById(1) } returns Optional.empty() + + assertThrows { + gateway.update(stock) + } + + } + + } + + @Nested + inner class GetStock { + + @Test + fun `findByComponentNumber should return null if stock not exists`() { + + every { stockJpaRepository.findById(1) } returns Optional.empty() + + val result = gateway.findByComponentNumber(1) + + assertThat(result).isNull() + } + + @Test + fun `findByComponentNumber should return stock by number`() { + val stock = createStock().copy(componentNumber = 1) + + every { stockJpaRepository.findById(1) } returns Optional.of(mapper.toEntity(stock)) + + val result = gateway.findByComponentNumber(1) + + assertThat(result).isNotNull() + } + + } + + } \ No newline at end of file From 8dafd3fa0d90a57a69287c5c0359b2893653225a Mon Sep 17 00:00:00 2001 From: Bleno Claus Date: Sun, 19 May 2024 22:52:05 -0300 Subject: [PATCH 13/19] add ProductServiceTest --- .../services/ProductServiceTest.kt | 106 ++++++++++++++++++ 1 file changed, 106 insertions(+) diff --git a/src/test/kotlin/com/fiap/stock/application/services/ProductServiceTest.kt b/src/test/kotlin/com/fiap/stock/application/services/ProductServiceTest.kt index 163334e..54327c5 100644 --- a/src/test/kotlin/com/fiap/stock/application/services/ProductServiceTest.kt +++ b/src/test/kotlin/com/fiap/stock/application/services/ProductServiceTest.kt @@ -4,6 +4,7 @@ import com.fiap.stock.application.adapter.gateway.ProductGateway import com.fiap.stock.application.domain.errors.ErrorType import com.fiap.stock.application.domain.errors.SelfOrderManagementException import com.fiap.stock.application.usecases.LoadComponentUseCase +import createComponent import createProduct import io.mockk.every import io.mockk.mockk @@ -53,4 +54,109 @@ class ProductServiceTest { .hasFieldOrPropertyWithValue("errorType", ErrorType.PRODUCT_NOT_FOUND) } } + + @Nested + inner class GetByProduct { + + @Test + fun `findAll should return a All products`() { + val products = listOf(createProduct()) + + every { productRepository.findAll() } returns products + + val response = productService.findAll() + + assertThat(response).isEqualTo(products) + + } + + @Test + fun `findByCategory should return a All products by category`() { + val products = listOf(createProduct()) + + every { productRepository.findByCategory(products.first().category!!) } returns products + + val response = productService.findByCategory(products.first().category!!) + + assertThat(response).isEqualTo(products) + } + + @Test + fun `searchByName should return a All products by name`() { + val products = listOf(createProduct()) + + every { productRepository.searchByName(products.first().name!!) } returns products + + val response = productService.searchByName(products.first().name!!) + + assertThat(response).isEqualTo(products) + + } + + } + + + @Nested + inner class CrudProduct { + + @Test + fun `create should return a a products created`() { + + val product = createProduct(number = 1) + val component = createComponent(componentNumber = 1) + + every { productRepository.create(any()) } returns product.copy(components = arrayListOf(component)) + every { loadInputUseCase.getByComponentNumber(1) } returns component + + val response = productService.create(product, arrayListOf(1)) + + assertThat(response.components).isNotEmpty() + + } + + @Test + fun `update should return a a products updated`() { + + val product = createProduct(number = 1) + val component = createComponent(componentNumber = 1) + + every { productRepository.update(any()) } returns product.copy(components = arrayListOf(component)) + every { loadInputUseCase.getByComponentNumber(1) } returns component + + val response = productService.update(product, arrayListOf(1)) + + assertThat(response.components).isNotEmpty() + + } + + @Test + fun `delete should return a a products deleted`() { + val product = createProduct(number = 1) + + every { productRepository.delete(1) } returns product + + val response = productService.delete(1) + + assertThat(response).isEqualTo(product) + } + + @Test + fun `compose should return a a products composed`() { + val product = createProduct(number = 1) + val product2 = createProduct(number = 2) + val product3 = createProduct(number = 3) + + + every { productRepository.findByProductNumber(1) } returns product + every { productRepository.findByProductNumber(2) } returns product2 + every { productRepository.findByProductNumber(3) } returns product3 + + every { productRepository.update(any()) } returns product.copy(subItems = listOf(product2, product3)) + + val response = productService.compose(1, arrayListOf(2,3)) + + assertThat(response.subItems).isNotEmpty() + } + + } } From 83fb6ac8f7c09cb13c9a18bdd5a2c3e0896c2545 Mon Sep 17 00:00:00 2001 From: Bleno Claus Date: Sun, 19 May 2024 23:02:46 -0300 Subject: [PATCH 14/19] add ProductServiceTest --- .../kotlin/com/fiap/stock/application/driver/web/ProductAPI.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/kotlin/com/fiap/stock/application/driver/web/ProductAPI.kt b/src/main/kotlin/com/fiap/stock/application/driver/web/ProductAPI.kt index 84ffcaf..ea016aa 100644 --- a/src/main/kotlin/com/fiap/stock/application/driver/web/ProductAPI.kt +++ b/src/main/kotlin/com/fiap/stock/application/driver/web/ProductAPI.kt @@ -108,7 +108,7 @@ interface ProductAPI { ): ResponseEntity> @Operation( - summary = "Cadastra produto", + summary = "Cadastra um novo produto", parameters = [ Parameter( name = "x-admin-token", @@ -122,6 +122,7 @@ interface ProductAPI { value = [ ApiResponse(responseCode = "200", description = "Operação bem-sucedida"), ApiResponse(responseCode = "422", description = "Produto inválido"), + ApiResponse(responseCode = "500", description = "Erro não esperado"), ], ) @PostMapping() From e2baf3392a63a22290216f927064229d4251cf9c Mon Sep 17 00:00:00 2001 From: Bleno Claus Date: Sun, 19 May 2024 23:07:36 -0300 Subject: [PATCH 15/19] duplicate --- .../application/driver/web/response/ProductResponse.kt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/kotlin/com/fiap/stock/application/driver/web/response/ProductResponse.kt b/src/main/kotlin/com/fiap/stock/application/driver/web/response/ProductResponse.kt index 0ce163d..ffe7cf4 100644 --- a/src/main/kotlin/com/fiap/stock/application/driver/web/response/ProductResponse.kt +++ b/src/main/kotlin/com/fiap/stock/application/driver/web/response/ProductResponse.kt @@ -12,7 +12,7 @@ data class ProductResponse( @Schema(title = "Nome do produto", example = "Big Mac", required = true) val name: String, @Schema( - title = "Categoria", + title = "Categoria do produto", example = "MAIN", allowableValues = ["DRINK", "MAIN", "SIDE", "DESSERT"], required = true, @@ -22,8 +22,8 @@ data class ProductResponse( @Schema(title = "Preço", example = "10.00", required = true) val price: BigDecimal, @Schema( - title = "Descrição", - example = "Dois hambúrgueres, alface, queijo, molho especial, cebola, picles, num pão com gergelim", + title = "Descrição do produto", + example = "Dois hambúrgueres, alface, queijo com picles num pão com gergelim", required = true, ) val description: String, @@ -33,7 +33,7 @@ data class ProductResponse( val maxSub: Int = Int.MAX_VALUE, @Schema(title = "Subitens", type = "array", minLength = 1, required = true) val subItems: List, - @Schema(title = "Componentes", type = "array", minLength = 1, required = true) + @Schema(title = "Componentes, ou elementos estocáveis", type = "array", minLength = 1, required = true) val components: List, ) { companion object { From cb732e3668f1ca348a6d9d00b16b5bdd5dde35c6 Mon Sep 17 00:00:00 2001 From: Bleno Claus Date: Sun, 19 May 2024 23:13:45 -0300 Subject: [PATCH 16/19] duplicate --- .../kotlin/com/fiap/stock/application/driver/web/ProductAPI.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/kotlin/com/fiap/stock/application/driver/web/ProductAPI.kt b/src/main/kotlin/com/fiap/stock/application/driver/web/ProductAPI.kt index ea016aa..dc31496 100644 --- a/src/main/kotlin/com/fiap/stock/application/driver/web/ProductAPI.kt +++ b/src/main/kotlin/com/fiap/stock/application/driver/web/ProductAPI.kt @@ -65,6 +65,7 @@ interface ProductAPI { ): ResponseEntity> @Operation( + description = "Api de produtos, Retorna produto pelo número", summary = "Retorna produto pelo número", parameters = [ Parameter( From e6274ffc1d39ea121609591a4ed167c9998e774e Mon Sep 17 00:00:00 2001 From: Bleno Claus Date: Sun, 19 May 2024 23:16:43 -0300 Subject: [PATCH 17/19] duplicate --- pom.xml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pom.xml b/pom.xml index 6db2b02..b7960b2 100644 --- a/pom.xml +++ b/pom.xml @@ -377,6 +377,14 @@ >**/com/fiap/stock/application/config/RestTemplateConfig.kt >**/com/fiap/stock/application/adapter/controller/configuration/ServiceConfig.kt **/com/fiap/stock/application/**/configuration/** + >**/com/fiap/stock/application/driver/web/*API + >**/com/fiap/stock/application/driver/web/ComponentAPI* + >**/com/fiap/stock/application/driver/web/ProductAPI* + >**/com/fiap/stock/application/driver/web/MenuAPI* + >**/com/fiap/stock/application/driver/web/StockAPI* + + + From 5c770e88f2701b7fa7cec60d93da343bbce1b884 Mon Sep 17 00:00:00 2001 From: Bleno Claus Date: Sun, 19 May 2024 23:23:24 -0300 Subject: [PATCH 18/19] duplicate --- .../kotlin/com/fiap/stock/application/driver/web/ProductAPI.kt | 1 + .../kotlin/com/fiap/stock/application/driver/web/StockAPI.kt | 1 + 2 files changed, 2 insertions(+) diff --git a/src/main/kotlin/com/fiap/stock/application/driver/web/ProductAPI.kt b/src/main/kotlin/com/fiap/stock/application/driver/web/ProductAPI.kt index dc31496..1fa2712 100644 --- a/src/main/kotlin/com/fiap/stock/application/driver/web/ProductAPI.kt +++ b/src/main/kotlin/com/fiap/stock/application/driver/web/ProductAPI.kt @@ -22,6 +22,7 @@ import org.springframework.web.bind.annotation.RequestMapping @Tag(name = "produto", description = "Produtos") @RequestMapping("/admin/products") +@SuppressWarnings interface ProductAPI { @Operation( summary = "Retorna todos os produtos", diff --git a/src/main/kotlin/com/fiap/stock/application/driver/web/StockAPI.kt b/src/main/kotlin/com/fiap/stock/application/driver/web/StockAPI.kt index 4d5a693..e833153 100644 --- a/src/main/kotlin/com/fiap/stock/application/driver/web/StockAPI.kt +++ b/src/main/kotlin/com/fiap/stock/application/driver/web/StockAPI.kt @@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.RequestMapping @Tag(name = "estoque", description = "Estoque de componentes") @RequestMapping("/admin/stock") +@SuppressWarnings interface StockAPI { @Operation( summary = "Acrescenta quantidade do componente em estoque", From b8da72a6b394b4be24a5dea70b8165900e54bdf6 Mon Sep 17 00:00:00 2001 From: Bleno Claus Date: Sun, 19 May 2024 23:32:46 -0300 Subject: [PATCH 19/19] duplicate --- pom.xml | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/pom.xml b/pom.xml index b7960b2..5a6716a 100644 --- a/pom.xml +++ b/pom.xml @@ -28,6 +28,13 @@ ${project.basedir}/target/site/jacoco/jacoco.xml kotlin true + + **/com/fiap/stock/application/driver/web/StockAPI.kt, + **/com/fiap/stock/application/driver/web/StockAPI*, + **/com/fiap/stock/application/driver/web/MenuAPI*, + **/com/fiap/stock/application/driver/web/ProductAPI* + + @@ -372,20 +379,16 @@ 0.8.12 - >**/com/fiap/stock/application/driver/database/configuration/GatewayConfig.kt - >**/com/fiap/stock/application/config/JWTSecurityConfig.kt - >**/com/fiap/stock/application/config/RestTemplateConfig.kt - >**/com/fiap/stock/application/adapter/controller/configuration/ServiceConfig.kt + **/com/fiap/stock/application/driver/database/configuration/GatewayConfig.kt + **/com/fiap/stock/application/config/JWTSecurityConfig.kt + **/com/fiap/stock/application/config/RestTemplateConfig.kt + **/com/fiap/stock/application/adapter/controller/configuration/ServiceConfig.kt **/com/fiap/stock/application/**/configuration/** - >**/com/fiap/stock/application/driver/web/*API - >**/com/fiap/stock/application/driver/web/ComponentAPI* - >**/com/fiap/stock/application/driver/web/ProductAPI* - >**/com/fiap/stock/application/driver/web/MenuAPI* - >**/com/fiap/stock/application/driver/web/StockAPI* - - - - + **/com/fiap/stock/application/driver/web/*API + **/com/fiap/stock/application/driver/web/ComponentAPI* + **/com/fiap/stock/application/driver/web/ProductAPI* + **/com/fiap/stock/application/driver/web/MenuAPI* + **/com/fiap/stock/application/driver/web/StockAPI.kt