diff --git a/ddd/src/main/java/com/baeldung/ddd/layers/DomainLayerApplication.java b/ddd/src/main/java/com/baeldung/dddhexagonalspring/DomainLayerApplication.java similarity index 91% rename from ddd/src/main/java/com/baeldung/ddd/layers/DomainLayerApplication.java rename to ddd/src/main/java/com/baeldung/dddhexagonalspring/DomainLayerApplication.java index 1a57311df8..988f96042b 100644 --- a/ddd/src/main/java/com/baeldung/ddd/layers/DomainLayerApplication.java +++ b/ddd/src/main/java/com/baeldung/dddhexagonalspring/DomainLayerApplication.java @@ -1,4 +1,4 @@ -package com.baeldung.ddd.layers; +package com.baeldung.dddhexagonalspring; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; diff --git a/ddd/src/main/java/com/baeldung/ddd/layers/application/controller/OrderController.java b/ddd/src/main/java/com/baeldung/dddhexagonalspring/application/controller/OrderController.java similarity index 79% rename from ddd/src/main/java/com/baeldung/ddd/layers/application/controller/OrderController.java rename to ddd/src/main/java/com/baeldung/dddhexagonalspring/application/controller/OrderController.java index e3909013b7..80ba36d01b 100644 --- a/ddd/src/main/java/com/baeldung/ddd/layers/application/controller/OrderController.java +++ b/ddd/src/main/java/com/baeldung/dddhexagonalspring/application/controller/OrderController.java @@ -1,9 +1,9 @@ -package com.baeldung.ddd.layers.application.controller; +package com.baeldung.dddhexagonalspring.application.controller; -import com.baeldung.ddd.layers.application.request.AddProductRequest; -import com.baeldung.ddd.layers.application.request.CreateOrderRequest; -import com.baeldung.ddd.layers.application.response.CreateOrderResponse; -import com.baeldung.ddd.layers.domain.service.OrderService; +import com.baeldung.dddhexagonalspring.application.request.AddProductRequest; +import com.baeldung.dddhexagonalspring.application.request.CreateOrderRequest; +import com.baeldung.dddhexagonalspring.application.response.CreateOrderResponse; +import com.baeldung.dddhexagonalspring.domain.service.OrderService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; diff --git a/ddd/src/main/java/com/baeldung/ddd/layers/application/request/AddProductRequest.java b/ddd/src/main/java/com/baeldung/dddhexagonalspring/application/request/AddProductRequest.java similarity index 78% rename from ddd/src/main/java/com/baeldung/ddd/layers/application/request/AddProductRequest.java rename to ddd/src/main/java/com/baeldung/dddhexagonalspring/application/request/AddProductRequest.java index 18a09e3636..ec107d635b 100644 --- a/ddd/src/main/java/com/baeldung/ddd/layers/application/request/AddProductRequest.java +++ b/ddd/src/main/java/com/baeldung/dddhexagonalspring/application/request/AddProductRequest.java @@ -1,6 +1,6 @@ -package com.baeldung.ddd.layers.application.request; +package com.baeldung.dddhexagonalspring.application.request; -import com.baeldung.ddd.layers.domain.Product; +import com.baeldung.dddhexagonalspring.domain.Product; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/ddd/src/main/java/com/baeldung/ddd/layers/application/request/CreateOrderRequest.java b/ddd/src/main/java/com/baeldung/dddhexagonalspring/application/request/CreateOrderRequest.java similarity index 79% rename from ddd/src/main/java/com/baeldung/ddd/layers/application/request/CreateOrderRequest.java rename to ddd/src/main/java/com/baeldung/dddhexagonalspring/application/request/CreateOrderRequest.java index 198feaf0d2..8c51fbe479 100644 --- a/ddd/src/main/java/com/baeldung/ddd/layers/application/request/CreateOrderRequest.java +++ b/ddd/src/main/java/com/baeldung/dddhexagonalspring/application/request/CreateOrderRequest.java @@ -1,6 +1,6 @@ -package com.baeldung.ddd.layers.application.request; +package com.baeldung.dddhexagonalspring.application.request; -import com.baeldung.ddd.layers.domain.Product; +import com.baeldung.dddhexagonalspring.domain.Product; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/ddd/src/main/java/com/baeldung/ddd/layers/application/response/CreateOrderResponse.java b/ddd/src/main/java/com/baeldung/dddhexagonalspring/application/response/CreateOrderResponse.java similarity index 77% rename from ddd/src/main/java/com/baeldung/ddd/layers/application/response/CreateOrderResponse.java rename to ddd/src/main/java/com/baeldung/dddhexagonalspring/application/response/CreateOrderResponse.java index 14cbc978e5..72ee1134c3 100644 --- a/ddd/src/main/java/com/baeldung/ddd/layers/application/response/CreateOrderResponse.java +++ b/ddd/src/main/java/com/baeldung/dddhexagonalspring/application/response/CreateOrderResponse.java @@ -1,4 +1,4 @@ -package com.baeldung.ddd.layers.application.response; +package com.baeldung.dddhexagonalspring.application.response; import java.util.UUID; diff --git a/ddd/src/main/java/com/baeldung/ddd/layers/domain/DomainException.java b/ddd/src/main/java/com/baeldung/dddhexagonalspring/domain/DomainException.java similarity index 72% rename from ddd/src/main/java/com/baeldung/ddd/layers/domain/DomainException.java rename to ddd/src/main/java/com/baeldung/dddhexagonalspring/domain/DomainException.java index ca0dff4a69..7baef7bab6 100644 --- a/ddd/src/main/java/com/baeldung/ddd/layers/domain/DomainException.java +++ b/ddd/src/main/java/com/baeldung/dddhexagonalspring/domain/DomainException.java @@ -1,4 +1,4 @@ -package com.baeldung.ddd.layers.domain; +package com.baeldung.dddhexagonalspring.domain; class DomainException extends RuntimeException { DomainException(final String message) { diff --git a/ddd/src/main/java/com/baeldung/ddd/layers/domain/Order.java b/ddd/src/main/java/com/baeldung/dddhexagonalspring/domain/Order.java similarity index 97% rename from ddd/src/main/java/com/baeldung/ddd/layers/domain/Order.java rename to ddd/src/main/java/com/baeldung/dddhexagonalspring/domain/Order.java index 4af8d13f8a..7d40007411 100644 --- a/ddd/src/main/java/com/baeldung/ddd/layers/domain/Order.java +++ b/ddd/src/main/java/com/baeldung/dddhexagonalspring/domain/Order.java @@ -1,4 +1,4 @@ -package com.baeldung.ddd.layers.domain; +package com.baeldung.dddhexagonalspring.domain; import java.math.BigDecimal; import java.util.ArrayList; diff --git a/ddd/src/main/java/com/baeldung/ddd/layers/domain/OrderItem.java b/ddd/src/main/java/com/baeldung/dddhexagonalspring/domain/OrderItem.java similarity index 94% rename from ddd/src/main/java/com/baeldung/ddd/layers/domain/OrderItem.java rename to ddd/src/main/java/com/baeldung/dddhexagonalspring/domain/OrderItem.java index 4ad26a0a3d..9debb02680 100644 --- a/ddd/src/main/java/com/baeldung/ddd/layers/domain/OrderItem.java +++ b/ddd/src/main/java/com/baeldung/dddhexagonalspring/domain/OrderItem.java @@ -1,4 +1,4 @@ -package com.baeldung.ddd.layers.domain; +package com.baeldung.dddhexagonalspring.domain; import java.math.BigDecimal; import java.util.Objects; diff --git a/ddd/src/main/java/com/baeldung/ddd/layers/domain/OrderStatus.java b/ddd/src/main/java/com/baeldung/dddhexagonalspring/domain/OrderStatus.java similarity index 52% rename from ddd/src/main/java/com/baeldung/ddd/layers/domain/OrderStatus.java rename to ddd/src/main/java/com/baeldung/dddhexagonalspring/domain/OrderStatus.java index f5d32374be..2ee5df3ab7 100644 --- a/ddd/src/main/java/com/baeldung/ddd/layers/domain/OrderStatus.java +++ b/ddd/src/main/java/com/baeldung/dddhexagonalspring/domain/OrderStatus.java @@ -1,4 +1,4 @@ -package com.baeldung.ddd.layers.domain; +package com.baeldung.dddhexagonalspring.domain; public enum OrderStatus { CREATED, COMPLETED diff --git a/ddd/src/main/java/com/baeldung/ddd/layers/domain/Product.java b/ddd/src/main/java/com/baeldung/dddhexagonalspring/domain/Product.java similarity index 95% rename from ddd/src/main/java/com/baeldung/ddd/layers/domain/Product.java rename to ddd/src/main/java/com/baeldung/dddhexagonalspring/domain/Product.java index 31928fc0fd..e05b4afe62 100644 --- a/ddd/src/main/java/com/baeldung/ddd/layers/domain/Product.java +++ b/ddd/src/main/java/com/baeldung/dddhexagonalspring/domain/Product.java @@ -1,4 +1,4 @@ -package com.baeldung.ddd.layers.domain; +package com.baeldung.dddhexagonalspring.domain; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/ddd/src/main/java/com/baeldung/ddd/layers/domain/repository/OrderRepository.java b/ddd/src/main/java/com/baeldung/dddhexagonalspring/domain/repository/OrderRepository.java similarity index 58% rename from ddd/src/main/java/com/baeldung/ddd/layers/domain/repository/OrderRepository.java rename to ddd/src/main/java/com/baeldung/dddhexagonalspring/domain/repository/OrderRepository.java index 659aa39609..14b34e13f3 100644 --- a/ddd/src/main/java/com/baeldung/ddd/layers/domain/repository/OrderRepository.java +++ b/ddd/src/main/java/com/baeldung/dddhexagonalspring/domain/repository/OrderRepository.java @@ -1,6 +1,6 @@ -package com.baeldung.ddd.layers.domain.repository; +package com.baeldung.dddhexagonalspring.domain.repository; -import com.baeldung.ddd.layers.domain.Order; +import com.baeldung.dddhexagonalspring.domain.Order; import java.util.Optional; import java.util.UUID; diff --git a/ddd/src/main/java/com/baeldung/ddd/layers/domain/service/DomainOrderService.java b/ddd/src/main/java/com/baeldung/dddhexagonalspring/domain/service/DomainOrderService.java similarity index 83% rename from ddd/src/main/java/com/baeldung/ddd/layers/domain/service/DomainOrderService.java rename to ddd/src/main/java/com/baeldung/dddhexagonalspring/domain/service/DomainOrderService.java index e7793ee08d..4fb2377745 100644 --- a/ddd/src/main/java/com/baeldung/ddd/layers/domain/service/DomainOrderService.java +++ b/ddd/src/main/java/com/baeldung/dddhexagonalspring/domain/service/DomainOrderService.java @@ -1,8 +1,8 @@ -package com.baeldung.ddd.layers.domain.service; +package com.baeldung.dddhexagonalspring.domain.service; -import com.baeldung.ddd.layers.domain.Order; -import com.baeldung.ddd.layers.domain.Product; -import com.baeldung.ddd.layers.domain.repository.OrderRepository; +import com.baeldung.dddhexagonalspring.domain.Order; +import com.baeldung.dddhexagonalspring.domain.Product; +import com.baeldung.dddhexagonalspring.domain.repository.OrderRepository; import java.util.UUID; diff --git a/ddd/src/main/java/com/baeldung/ddd/layers/domain/service/OrderService.java b/ddd/src/main/java/com/baeldung/dddhexagonalspring/domain/service/OrderService.java similarity index 67% rename from ddd/src/main/java/com/baeldung/ddd/layers/domain/service/OrderService.java rename to ddd/src/main/java/com/baeldung/dddhexagonalspring/domain/service/OrderService.java index 48caf467aa..37297d74c4 100644 --- a/ddd/src/main/java/com/baeldung/ddd/layers/domain/service/OrderService.java +++ b/ddd/src/main/java/com/baeldung/dddhexagonalspring/domain/service/OrderService.java @@ -1,6 +1,6 @@ -package com.baeldung.ddd.layers.domain.service; +package com.baeldung.dddhexagonalspring.domain.service; -import com.baeldung.ddd.layers.domain.Product; +import com.baeldung.dddhexagonalspring.domain.Product; import java.util.UUID; diff --git a/ddd/src/main/java/com/baeldung/ddd/layers/infrastracture/configuration/BeanConfiguration.java b/ddd/src/main/java/com/baeldung/dddhexagonalspring/infrastracture/configuration/BeanConfiguration.java similarity index 55% rename from ddd/src/main/java/com/baeldung/ddd/layers/infrastracture/configuration/BeanConfiguration.java rename to ddd/src/main/java/com/baeldung/dddhexagonalspring/infrastracture/configuration/BeanConfiguration.java index 68429f1fb8..4be5d84ba7 100644 --- a/ddd/src/main/java/com/baeldung/ddd/layers/infrastracture/configuration/BeanConfiguration.java +++ b/ddd/src/main/java/com/baeldung/dddhexagonalspring/infrastracture/configuration/BeanConfiguration.java @@ -1,9 +1,9 @@ -package com.baeldung.ddd.layers.infrastracture.configuration; +package com.baeldung.dddhexagonalspring.infrastracture.configuration; -import com.baeldung.ddd.layers.DomainLayerApplication; -import com.baeldung.ddd.layers.domain.repository.OrderRepository; -import com.baeldung.ddd.layers.domain.service.DomainOrderService; -import com.baeldung.ddd.layers.domain.service.OrderService; +import com.baeldung.dddhexagonalspring.DomainLayerApplication; +import com.baeldung.dddhexagonalspring.domain.repository.OrderRepository; +import com.baeldung.dddhexagonalspring.domain.service.DomainOrderService; +import com.baeldung.dddhexagonalspring.domain.service.OrderService; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; diff --git a/ddd/src/main/java/com/baeldung/ddd/layers/infrastracture/configuration/MongoDBConfiguration.java b/ddd/src/main/java/com/baeldung/dddhexagonalspring/infrastracture/configuration/MongoDBConfiguration.java similarity index 55% rename from ddd/src/main/java/com/baeldung/ddd/layers/infrastracture/configuration/MongoDBConfiguration.java rename to ddd/src/main/java/com/baeldung/dddhexagonalspring/infrastracture/configuration/MongoDBConfiguration.java index 5341b9fe95..fd76b2eb0e 100644 --- a/ddd/src/main/java/com/baeldung/ddd/layers/infrastracture/configuration/MongoDBConfiguration.java +++ b/ddd/src/main/java/com/baeldung/dddhexagonalspring/infrastracture/configuration/MongoDBConfiguration.java @@ -1,6 +1,6 @@ -package com.baeldung.ddd.layers.infrastracture.configuration; +package com.baeldung.dddhexagonalspring.infrastracture.configuration; -import com.baeldung.ddd.layers.infrastracture.repository.SpringDataOrderRepository; +import com.baeldung.dddhexagonalspring.infrastracture.repository.SpringDataOrderRepository; import org.springframework.data.mongodb.repository.config.EnableMongoRepositories; @EnableMongoRepositories(basePackageClasses = SpringDataOrderRepository.class) diff --git a/ddd/src/main/java/com/baeldung/ddd/layers/infrastracture/repository/MongoDbOrderRepository.java b/ddd/src/main/java/com/baeldung/dddhexagonalspring/infrastracture/repository/MongoDbOrderRepository.java similarity index 77% rename from ddd/src/main/java/com/baeldung/ddd/layers/infrastracture/repository/MongoDbOrderRepository.java rename to ddd/src/main/java/com/baeldung/dddhexagonalspring/infrastracture/repository/MongoDbOrderRepository.java index e7409e05db..3123ef3e2f 100644 --- a/ddd/src/main/java/com/baeldung/ddd/layers/infrastracture/repository/MongoDbOrderRepository.java +++ b/ddd/src/main/java/com/baeldung/dddhexagonalspring/infrastracture/repository/MongoDbOrderRepository.java @@ -1,7 +1,7 @@ -package com.baeldung.ddd.layers.infrastracture.repository; +package com.baeldung.dddhexagonalspring.infrastracture.repository; -import com.baeldung.ddd.layers.domain.Order; -import com.baeldung.ddd.layers.domain.repository.OrderRepository; +import com.baeldung.dddhexagonalspring.domain.Order; +import com.baeldung.dddhexagonalspring.domain.repository.OrderRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; diff --git a/ddd/src/main/java/com/baeldung/ddd/layers/infrastracture/repository/SpringDataOrderRepository.java b/ddd/src/main/java/com/baeldung/dddhexagonalspring/infrastracture/repository/SpringDataOrderRepository.java similarity index 66% rename from ddd/src/main/java/com/baeldung/ddd/layers/infrastracture/repository/SpringDataOrderRepository.java rename to ddd/src/main/java/com/baeldung/dddhexagonalspring/infrastracture/repository/SpringDataOrderRepository.java index d4fac2e454..0279a5ce4a 100644 --- a/ddd/src/main/java/com/baeldung/ddd/layers/infrastracture/repository/SpringDataOrderRepository.java +++ b/ddd/src/main/java/com/baeldung/dddhexagonalspring/infrastracture/repository/SpringDataOrderRepository.java @@ -1,6 +1,6 @@ -package com.baeldung.ddd.layers.infrastracture.repository; +package com.baeldung.dddhexagonalspring.infrastracture.repository; -import com.baeldung.ddd.layers.domain.Order; +import com.baeldung.dddhexagonalspring.domain.Order; import org.springframework.data.mongodb.repository.MongoRepository; import org.springframework.stereotype.Repository; diff --git a/ddd/src/test/java/com/baeldung/ddd/layers/infrastracture/repository/MongoDbOrderRepositoryUnitTest.java b/ddd/src/test/java/com/baeldung/ddd/layers/infrastracture/repository/MongoDbOrderRepositoryUnitTest.java deleted file mode 100644 index 1b4eac06be..0000000000 --- a/ddd/src/test/java/com/baeldung/ddd/layers/infrastracture/repository/MongoDbOrderRepositoryUnitTest.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.baeldung.ddd.layers.infrastracture.repository; - -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; - -import static org.junit.jupiter.api.Assertions.*; - -class MongoDbOrderRepositoryUnitTest { - - private SpringDataOrderRepository springDataOrderRepository; - private MongoDbOrderRepository tested; - - @BeforeEach - void setUp(){ - - } - - @Test - void findById() { - } - - @Test - void save() { - } -} \ No newline at end of file diff --git a/ddd/src/test/java/com/baeldung/ddd/layers/domain/OrderProvider.java b/ddd/src/test/java/com/baeldung/dddhexagonalspring/domain/OrderProvider.java similarity index 89% rename from ddd/src/test/java/com/baeldung/ddd/layers/domain/OrderProvider.java rename to ddd/src/test/java/com/baeldung/dddhexagonalspring/domain/OrderProvider.java index 1708aee942..c534713ca3 100644 --- a/ddd/src/test/java/com/baeldung/ddd/layers/domain/OrderProvider.java +++ b/ddd/src/test/java/com/baeldung/dddhexagonalspring/domain/OrderProvider.java @@ -1,4 +1,4 @@ -package com.baeldung.ddd.layers.domain; +package com.baeldung.dddhexagonalspring.domain; import java.math.BigDecimal; import java.util.UUID; diff --git a/ddd/src/test/java/com/baeldung/ddd/layers/domain/OrderUnitTest.java b/ddd/src/test/java/com/baeldung/dddhexagonalspring/domain/OrderUnitTest.java similarity index 97% rename from ddd/src/test/java/com/baeldung/ddd/layers/domain/OrderUnitTest.java rename to ddd/src/test/java/com/baeldung/dddhexagonalspring/domain/OrderUnitTest.java index 086624bf77..eceed999d8 100644 --- a/ddd/src/test/java/com/baeldung/ddd/layers/domain/OrderUnitTest.java +++ b/ddd/src/test/java/com/baeldung/dddhexagonalspring/domain/OrderUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.ddd.layers.domain; +package com.baeldung.dddhexagonalspring.domain; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/ddd/src/test/java/com/baeldung/ddd/layers/domain/service/DomainOrderServiceUnitTest.java b/ddd/src/test/java/com/baeldung/dddhexagonalspring/domain/service/DomainOrderServiceUnitTest.java similarity index 90% rename from ddd/src/test/java/com/baeldung/ddd/layers/domain/service/DomainOrderServiceUnitTest.java rename to ddd/src/test/java/com/baeldung/dddhexagonalspring/domain/service/DomainOrderServiceUnitTest.java index 87a2c1beb0..797068a30a 100644 --- a/ddd/src/test/java/com/baeldung/ddd/layers/domain/service/DomainOrderServiceUnitTest.java +++ b/ddd/src/test/java/com/baeldung/dddhexagonalspring/domain/service/DomainOrderServiceUnitTest.java @@ -1,9 +1,9 @@ -package com.baeldung.ddd.layers.domain.service; +package com.baeldung.dddhexagonalspring.domain.service; -import com.baeldung.ddd.layers.domain.Order; -import com.baeldung.ddd.layers.domain.OrderProvider; -import com.baeldung.ddd.layers.domain.Product; -import com.baeldung.ddd.layers.domain.repository.OrderRepository; +import com.baeldung.dddhexagonalspring.domain.Order; +import com.baeldung.dddhexagonalspring.domain.OrderProvider; +import com.baeldung.dddhexagonalspring.domain.Product; +import com.baeldung.dddhexagonalspring.domain.repository.OrderRepository; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.function.Executable; diff --git a/ddd/src/test/java/com/baeldung/dddhexagonalspring/infrastracture/repository/MongoDbOrderRepositoryUnitTest.java b/ddd/src/test/java/com/baeldung/dddhexagonalspring/infrastracture/repository/MongoDbOrderRepositoryUnitTest.java new file mode 100644 index 0000000000..8f7e8260a3 --- /dev/null +++ b/ddd/src/test/java/com/baeldung/dddhexagonalspring/infrastracture/repository/MongoDbOrderRepositoryUnitTest.java @@ -0,0 +1,51 @@ +package com.baeldung.dddhexagonalspring.infrastracture.repository; + +import com.baeldung.dddhexagonalspring.domain.Order; +import com.baeldung.dddhexagonalspring.domain.Product; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import java.math.BigDecimal; +import java.util.Optional; +import java.util.UUID; + +import static org.junit.jupiter.api.Assertions.*; +import static org.mockito.Mockito.*; + +class MongoDbOrderRepositoryUnitTest { + + private SpringDataOrderRepository springDataOrderRepository; + private MongoDbOrderRepository tested; + + @BeforeEach + void setUp(){ + springDataOrderRepository = mock(SpringDataOrderRepository.class); + + tested = new MongoDbOrderRepository(springDataOrderRepository); + } + + @Test + void shouldFindById_thenReturnOrder() { + final UUID id = UUID.randomUUID(); + final Order order = createOrder(id); + when(springDataOrderRepository.findById(id)).thenReturn(Optional.of(order)); + + final Optional result = tested.findById(id); + + assertEquals(order, result.get()); + } + + @Test + void shouldSaveOrder_viaSpringDataOrderRepository() { + final UUID id = UUID.randomUUID(); + final Order order = createOrder(id); + + tested.save(order); + + verify(springDataOrderRepository).save(order); + } + + private Order createOrder(UUID id) { + return new Order(id, new Product(UUID.randomUUID(), BigDecimal.TEN, "product")); + } +} \ No newline at end of file