From 27af8e6f7765e4df492a34a5414cae87087459f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EC=9A=B0=EC=9E=AC?= Date: Mon, 11 Oct 2021 20:49:26 +0900 Subject: [PATCH] =?UTF-8?q?[#54]=20test:=20FollowableDto=20=EC=A0=95?= =?UTF-8?q?=EC=A0=81=20=ED=8C=A9=ED=86=A0=EB=A6=AC=20=EB=A9=94=EC=84=9C?= =?UTF-8?q?=EB=93=9C=20fromUserAndFollowable()=20=ED=85=8C=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle | 22 +++++++++- .../auth/application/AuthLoginService.java | 8 ++-- .../domain/auth/dto/LoginRequest.java | 4 +- .../auth/infrastructure/TokenProvider.java | 4 +- .../domain/auth/presentation/AuthApi.java | 2 +- .../domain/follow/domain/Follow.java | 2 +- .../domain/FollowQueryDslRepository.java | 29 +++++++++++++ .../domain/follow/dto/FollowableDto.java | 37 ++++++++++++++++ .../user/application/UserFindService.java | 16 +++++-- .../user/application/UserJoinService.java | 6 +-- .../user/application/UserUpdateService.java | 6 +-- .../user/domain/{ => persist}/User.java | 3 +- .../domain/{ => persist}/UserRepository.java | 9 +++- .../domain/user/domain/{ => vo}/Bio.java | 2 +- .../domain/user/domain/{ => vo}/Email.java | 2 +- .../domain/user/domain/{ => vo}/Image.java | 2 +- .../domain/user/domain/{ => vo}/Name.java | 2 +- .../domain/user/domain/{ => vo}/Password.java | 2 +- .../domain/user/dto/UserJoinRequest.java | 8 ++-- .../domain/user/dto/UserJoinResponse.java | 6 ++- .../domain/user/dto/UserResponse.java | 6 ++- .../domain/user/dto/UserUpdateRequest.java | 8 ++-- .../domain/user/presentation/UserApi.java | 2 +- .../global/jpa/config/JpaConfiguration.java | 16 +++++++ .../jwt/authentication/JwtAuthentication.java | 6 +-- .../JwtAuthenticationProvider.java | 2 +- .../application/AuthLoginServiceTest.java | 15 ++++--- .../domain/auth/dto/LoginRequestTest.java | 8 ++-- .../infrastructure/TokenProviderTest.java | 14 +++--- .../auth/presentation/AuthApiUnitTest.java | 14 +++--- .../follow/domain/FollowRepositoryTest.java | 15 ++++--- .../domain/follow/domain/FollowTest.java | 15 ++++--- .../domain/follow/dto/FollowableDtoTest.java | 43 +++++++++++++++++++ .../user/application/UserFindServiceTest.java | 20 +++++---- .../user/application/UserJoinServiceTest.java | 16 ++++--- .../application/UserUpdateServiceTest.java | 16 ++++--- .../{ => persist}/UserRepositoryTest.java | 15 ++++--- .../user/domain/{ => persist}/UserTest.java | 16 ++++--- .../domain/user/domain/{ => vo}/BioTest.java | 3 +- .../user/domain/{ => vo}/EmailTest.java | 3 +- .../user/domain/{ => vo}/ImageTest.java | 3 +- .../domain/user/domain/{ => vo}/NameTest.java | 3 +- .../user/domain/{ => vo}/PasswordTest.java | 3 +- .../domain/user/dto/UserJoinRequestTest.java | 16 +++---- .../domain/user/dto/UserJoinResponseTest.java | 15 ++++--- .../domain/user/dto/UserResponseTest.java | 15 ++++--- .../user/dto/UserUpdateRequestTest.java | 14 +++--- .../domain/user/error/UserErrorCodeTest.java | 2 +- .../presentation/UserApiDocumentTest.java | 17 ++++---- .../user/presentation/UserApiFailTest.java | 8 ++-- .../user/presentation/UserApiUnitTest.java | 17 ++++---- .../jwt/JwtAuthenticationFilterTest.java | 15 ++++--- .../JwtAuthenticationProviderManagerTest.java | 15 ++++--- .../jwt/JwtAuthenticationProviderTest.java | 15 ++++--- .../global/jwt/JwtAuthenticationTest.java | 17 ++++---- 55 files changed, 400 insertions(+), 200 deletions(-) create mode 100644 src/main/java/com/study/realworld/domain/follow/domain/FollowQueryDslRepository.java create mode 100644 src/main/java/com/study/realworld/domain/follow/dto/FollowableDto.java rename src/main/java/com/study/realworld/domain/user/domain/{ => persist}/User.java (97%) rename src/main/java/com/study/realworld/domain/user/domain/{ => persist}/UserRepository.java (55%) rename src/main/java/com/study/realworld/domain/user/domain/{ => vo}/Bio.java (94%) rename src/main/java/com/study/realworld/domain/user/domain/{ => vo}/Email.java (95%) rename src/main/java/com/study/realworld/domain/user/domain/{ => vo}/Image.java (94%) rename src/main/java/com/study/realworld/domain/user/domain/{ => vo}/Name.java (95%) rename src/main/java/com/study/realworld/domain/user/domain/{ => vo}/Password.java (94%) create mode 100644 src/test/java/com/study/realworld/domain/follow/dto/FollowableDtoTest.java rename src/test/java/com/study/realworld/domain/user/domain/{ => persist}/UserRepositoryTest.java (83%) rename src/test/java/com/study/realworld/domain/user/domain/{ => persist}/UserTest.java (89%) rename src/test/java/com/study/realworld/domain/user/domain/{ => vo}/BioTest.java (94%) rename src/test/java/com/study/realworld/domain/user/domain/{ => vo}/EmailTest.java (97%) rename src/test/java/com/study/realworld/domain/user/domain/{ => vo}/ImageTest.java (94%) rename src/test/java/com/study/realworld/domain/user/domain/{ => vo}/NameTest.java (96%) rename src/test/java/com/study/realworld/domain/user/domain/{ => vo}/PasswordTest.java (96%) diff --git a/build.gradle b/build.gradle index d803d10c..5f61cad7 100644 --- a/build.gradle +++ b/build.gradle @@ -2,6 +2,7 @@ plugins { id 'org.springframework.boot' version '2.5.3' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id "org.asciidoctor.convert" version "1.5.9.2" + id "com.ewerk.gradle.plugins.querydsl" version "1.0.10" id 'java' id 'jacoco' } @@ -19,6 +20,9 @@ dependencies { implementation 'org.springframework.boot:spring-boot-starter-security' implementation 'org.springframework.boot:spring-boot-starter-validation' implementation 'org.springframework.boot:spring-boot-starter-data-jpa' + implementation 'com.querydsl:querydsl-jpa' + implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.5.8' + runtimeOnly 'com.h2database:h2' testImplementation 'org.springframework.boot:spring-boot-starter-test' @@ -32,6 +36,21 @@ dependencies { apply from: 'test.gradle' +def querydslDir = "$buildDir/generated/querydsl" +querydsl { + jpa = true + querydslSourcesDir = querydslDir +} +sourceSets { + main.java.srcDir querydslDir +} +configurations { + querydsl.extendsFrom compileClasspath +} +compileQuerydsl { + options.annotationProcessorPath = configurations.querydsl +} + ext { set('snippetsDir', file("build/generated-snippets")) // 문서 저장위치 } @@ -63,4 +82,5 @@ task copyDocument(type: Copy) { // 생성된 docs 파일을 build시 static 아 build { dependsOn copyDocument // build시 copy 실행 -} \ No newline at end of file +} + diff --git a/src/main/java/com/study/realworld/domain/auth/application/AuthLoginService.java b/src/main/java/com/study/realworld/domain/auth/application/AuthLoginService.java index 9f2de94e..f510e61e 100644 --- a/src/main/java/com/study/realworld/domain/auth/application/AuthLoginService.java +++ b/src/main/java/com/study/realworld/domain/auth/application/AuthLoginService.java @@ -1,9 +1,9 @@ package com.study.realworld.domain.auth.application; -import com.study.realworld.domain.user.domain.Email; -import com.study.realworld.domain.user.domain.Password; -import com.study.realworld.domain.user.domain.User; -import com.study.realworld.domain.user.domain.UserRepository; +import com.study.realworld.domain.user.domain.vo.Email; +import com.study.realworld.domain.user.domain.vo.Password; +import com.study.realworld.domain.user.domain.persist.User; +import com.study.realworld.domain.user.domain.persist.UserRepository; import com.study.realworld.domain.user.error.exception.EmailNotFoundException; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.stereotype.Service; diff --git a/src/main/java/com/study/realworld/domain/auth/dto/LoginRequest.java b/src/main/java/com/study/realworld/domain/auth/dto/LoginRequest.java index bb4feffc..0fc7b039 100644 --- a/src/main/java/com/study/realworld/domain/auth/dto/LoginRequest.java +++ b/src/main/java/com/study/realworld/domain/auth/dto/LoginRequest.java @@ -3,8 +3,8 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeName; -import com.study.realworld.domain.user.domain.Email; -import com.study.realworld.domain.user.domain.Password; +import com.study.realworld.domain.user.domain.vo.Email; +import com.study.realworld.domain.user.domain.vo.Password; @JsonTypeName("user") @JsonTypeInfo(include = JsonTypeInfo.As.WRAPPER_OBJECT, use = JsonTypeInfo.Id.NAME) diff --git a/src/main/java/com/study/realworld/domain/auth/infrastructure/TokenProvider.java b/src/main/java/com/study/realworld/domain/auth/infrastructure/TokenProvider.java index ff807246..ec413a25 100644 --- a/src/main/java/com/study/realworld/domain/auth/infrastructure/TokenProvider.java +++ b/src/main/java/com/study/realworld/domain/auth/infrastructure/TokenProvider.java @@ -3,8 +3,8 @@ import com.study.realworld.domain.auth.dto.ResponseToken; import com.study.realworld.domain.auth.dto.token.AccessToken; import com.study.realworld.domain.auth.dto.token.RefreshToken; -import com.study.realworld.domain.user.domain.Email; -import com.study.realworld.domain.user.domain.User; +import com.study.realworld.domain.user.domain.vo.Email; +import com.study.realworld.domain.user.domain.persist.User; import com.study.realworld.global.jwt.error.exception.JwtParseException; import io.jsonwebtoken.Claims; import io.jsonwebtoken.JwtParser; diff --git a/src/main/java/com/study/realworld/domain/auth/presentation/AuthApi.java b/src/main/java/com/study/realworld/domain/auth/presentation/AuthApi.java index 3b097611..15d79a32 100644 --- a/src/main/java/com/study/realworld/domain/auth/presentation/AuthApi.java +++ b/src/main/java/com/study/realworld/domain/auth/presentation/AuthApi.java @@ -4,7 +4,7 @@ import com.study.realworld.domain.auth.dto.LoginRequest; import com.study.realworld.domain.auth.dto.ResponseToken; import com.study.realworld.domain.auth.infrastructure.TokenProvider; -import com.study.realworld.domain.user.domain.User; +import com.study.realworld.domain.user.domain.persist.User; import com.study.realworld.domain.user.dto.UserResponse; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PostMapping; diff --git a/src/main/java/com/study/realworld/domain/follow/domain/Follow.java b/src/main/java/com/study/realworld/domain/follow/domain/Follow.java index 1d131736..0aa89222 100644 --- a/src/main/java/com/study/realworld/domain/follow/domain/Follow.java +++ b/src/main/java/com/study/realworld/domain/follow/domain/Follow.java @@ -1,6 +1,6 @@ package com.study.realworld.domain.follow.domain; -import com.study.realworld.domain.user.domain.User; +import com.study.realworld.domain.user.domain.persist.User; import javax.persistence.*; diff --git a/src/main/java/com/study/realworld/domain/follow/domain/FollowQueryDslRepository.java b/src/main/java/com/study/realworld/domain/follow/domain/FollowQueryDslRepository.java new file mode 100644 index 00000000..3e9abde2 --- /dev/null +++ b/src/main/java/com/study/realworld/domain/follow/domain/FollowQueryDslRepository.java @@ -0,0 +1,29 @@ +package com.study.realworld.domain.follow.domain; + +import com.querydsl.jpa.impl.JPAQueryFactory; +import com.study.realworld.domain.follow.dto.FollowableDto; +import com.study.realworld.domain.user.domain.persist.User; +import org.springframework.stereotype.Repository; + +import java.util.Objects; + +import static com.study.realworld.domain.follow.domain.QFollow.follow; + +@Repository +public class FollowQueryDslRepository { + private final JPAQueryFactory query; + + public FollowQueryDslRepository(final JPAQueryFactory jpaQueryFactory) { + this.query = jpaQueryFactory; + } + + public FollowableDto existMeAndFollowing(final User me, final User following) { + final Integer count = query.selectOne() + .from(follow) + .where(follow.following.eq(following), follow.follower.eq(me)) + .fetchFirst(); + boolean followable = !Objects.isNull(count); + return FollowableDto.fromUserAndFollowable(me, followable); + } + +} diff --git a/src/main/java/com/study/realworld/domain/follow/dto/FollowableDto.java b/src/main/java/com/study/realworld/domain/follow/dto/FollowableDto.java new file mode 100644 index 00000000..fd3bbe25 --- /dev/null +++ b/src/main/java/com/study/realworld/domain/follow/dto/FollowableDto.java @@ -0,0 +1,37 @@ +package com.study.realworld.domain.follow.dto; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.study.realworld.domain.user.domain.persist.User; +import com.study.realworld.domain.user.domain.vo.Bio; +import com.study.realworld.domain.user.domain.vo.Image; +import com.study.realworld.domain.user.domain.vo.Name; + +public class FollowableDto { + + @JsonProperty("username") + private Name username; + + @JsonProperty("bio") + private Bio bio; + + @JsonProperty("image") + private Image image; + + @JsonProperty("following") + private Boolean followable; + + public static FollowableDto fromUserAndFollowable(final User me, final boolean followable) { + return new FollowableDto(me.username(), me.bio(), me.image(), followable); + } + + FollowableDto() { + } + + private FollowableDto(final Name username, final Bio bio, final Image image, final Boolean followable) { + this.username = username; + this.bio = bio; + this.image = image; + this.followable = followable; + } + +} diff --git a/src/main/java/com/study/realworld/domain/user/application/UserFindService.java b/src/main/java/com/study/realworld/domain/user/application/UserFindService.java index 2b6b2b65..c207b922 100644 --- a/src/main/java/com/study/realworld/domain/user/application/UserFindService.java +++ b/src/main/java/com/study/realworld/domain/user/application/UserFindService.java @@ -1,8 +1,9 @@ package com.study.realworld.domain.user.application; -import com.study.realworld.domain.user.domain.Email; -import com.study.realworld.domain.user.domain.User; -import com.study.realworld.domain.user.domain.UserRepository; +import com.study.realworld.domain.follow.domain.FollowRepository; +import com.study.realworld.domain.user.domain.vo.Email; +import com.study.realworld.domain.user.domain.persist.User; +import com.study.realworld.domain.user.domain.persist.UserRepository; import com.study.realworld.domain.user.error.exception.EmailNotFoundException; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -12,15 +13,22 @@ public class UserFindService { private final UserRepository userRepository; + private final FollowRepository followRepository; - public UserFindService(final UserRepository userRepository) { + public UserFindService(final UserRepository userRepository, final FollowRepository followRepository) { this.userRepository = userRepository; + this.followRepository = followRepository; } public User findUserByEmail(final String email) { return findByEmail(email); } +// public User findProfileByName(final Long id, final Name username) { +// final User user = userRepository.findById(id).orElseThrow(IllegalArgumentException::new); +// return findByEmail(); +// } + private User findByEmail(final String email) { return userRepository.findByEmail(new Email(email)) .orElseThrow(() -> new EmailNotFoundException(email)); diff --git a/src/main/java/com/study/realworld/domain/user/application/UserJoinService.java b/src/main/java/com/study/realworld/domain/user/application/UserJoinService.java index 8942d266..b19170fd 100644 --- a/src/main/java/com/study/realworld/domain/user/application/UserJoinService.java +++ b/src/main/java/com/study/realworld/domain/user/application/UserJoinService.java @@ -1,8 +1,8 @@ package com.study.realworld.domain.user.application; -import com.study.realworld.domain.user.domain.Email; -import com.study.realworld.domain.user.domain.User; -import com.study.realworld.domain.user.domain.UserRepository; +import com.study.realworld.domain.user.domain.vo.Email; +import com.study.realworld.domain.user.domain.persist.User; +import com.study.realworld.domain.user.domain.persist.UserRepository; import com.study.realworld.domain.user.error.exception.DuplicatedEmailException; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.stereotype.Service; diff --git a/src/main/java/com/study/realworld/domain/user/application/UserUpdateService.java b/src/main/java/com/study/realworld/domain/user/application/UserUpdateService.java index 4c2d92ec..2dbd072b 100644 --- a/src/main/java/com/study/realworld/domain/user/application/UserUpdateService.java +++ b/src/main/java/com/study/realworld/domain/user/application/UserUpdateService.java @@ -1,8 +1,8 @@ package com.study.realworld.domain.user.application; -import com.study.realworld.domain.user.domain.Email; -import com.study.realworld.domain.user.domain.User; -import com.study.realworld.domain.user.domain.UserRepository; +import com.study.realworld.domain.user.domain.vo.Email; +import com.study.realworld.domain.user.domain.persist.User; +import com.study.realworld.domain.user.domain.persist.UserRepository; import com.study.realworld.domain.user.error.exception.DuplicatedEmailException; import com.study.realworld.domain.user.error.exception.IdentityNotFoundException; import org.springframework.stereotype.Service; diff --git a/src/main/java/com/study/realworld/domain/user/domain/User.java b/src/main/java/com/study/realworld/domain/user/domain/persist/User.java similarity index 97% rename from src/main/java/com/study/realworld/domain/user/domain/User.java rename to src/main/java/com/study/realworld/domain/user/domain/persist/User.java index ee48929d..d0b5e2b5 100644 --- a/src/main/java/com/study/realworld/domain/user/domain/User.java +++ b/src/main/java/com/study/realworld/domain/user/domain/persist/User.java @@ -1,7 +1,8 @@ -package com.study.realworld.domain.user.domain; +package com.study.realworld.domain.user.domain.persist; import com.study.realworld.domain.BaseTimeEntity; import com.study.realworld.domain.follow.domain.Follow; +import com.study.realworld.domain.user.domain.vo.*; import com.study.realworld.domain.user.error.exception.PasswordMissMatchException; import org.springframework.security.crypto.password.PasswordEncoder; diff --git a/src/main/java/com/study/realworld/domain/user/domain/UserRepository.java b/src/main/java/com/study/realworld/domain/user/domain/persist/UserRepository.java similarity index 55% rename from src/main/java/com/study/realworld/domain/user/domain/UserRepository.java rename to src/main/java/com/study/realworld/domain/user/domain/persist/UserRepository.java index 1c6b1af3..4c528f5c 100644 --- a/src/main/java/com/study/realworld/domain/user/domain/UserRepository.java +++ b/src/main/java/com/study/realworld/domain/user/domain/persist/UserRepository.java @@ -1,6 +1,7 @@ -package com.study.realworld.domain.user.domain; +package com.study.realworld.domain.user.domain.persist; -import org.springframework.data.jpa.repository.JpaRepository; +import com.study.realworld.domain.user.domain.vo.Email; +import com.study.realworld.domain.user.domain.vo.Name; import org.springframework.data.repository.CrudRepository; import org.springframework.stereotype.Repository; @@ -10,4 +11,8 @@ public interface UserRepository extends CrudRepository { Optional findByEmail(final Email email); boolean existsByEmail(final Email email); + + Optional findByUsername(final Name followingName, final Name followerName); + } + diff --git a/src/main/java/com/study/realworld/domain/user/domain/Bio.java b/src/main/java/com/study/realworld/domain/user/domain/vo/Bio.java similarity index 94% rename from src/main/java/com/study/realworld/domain/user/domain/Bio.java rename to src/main/java/com/study/realworld/domain/user/domain/vo/Bio.java index cb3f613d..7c520b1c 100644 --- a/src/main/java/com/study/realworld/domain/user/domain/Bio.java +++ b/src/main/java/com/study/realworld/domain/user/domain/vo/Bio.java @@ -1,4 +1,4 @@ -package com.study.realworld.domain.user.domain; +package com.study.realworld.domain.user.domain.vo; import com.fasterxml.jackson.annotation.JsonValue; diff --git a/src/main/java/com/study/realworld/domain/user/domain/Email.java b/src/main/java/com/study/realworld/domain/user/domain/vo/Email.java similarity index 95% rename from src/main/java/com/study/realworld/domain/user/domain/Email.java rename to src/main/java/com/study/realworld/domain/user/domain/vo/Email.java index 5394c5a4..cbd0a72e 100644 --- a/src/main/java/com/study/realworld/domain/user/domain/Email.java +++ b/src/main/java/com/study/realworld/domain/user/domain/vo/Email.java @@ -1,4 +1,4 @@ -package com.study.realworld.domain.user.domain; +package com.study.realworld.domain.user.domain.vo; import com.fasterxml.jackson.annotation.JsonValue; diff --git a/src/main/java/com/study/realworld/domain/user/domain/Image.java b/src/main/java/com/study/realworld/domain/user/domain/vo/Image.java similarity index 94% rename from src/main/java/com/study/realworld/domain/user/domain/Image.java rename to src/main/java/com/study/realworld/domain/user/domain/vo/Image.java index f996d8e7..c2948db6 100644 --- a/src/main/java/com/study/realworld/domain/user/domain/Image.java +++ b/src/main/java/com/study/realworld/domain/user/domain/vo/Image.java @@ -1,4 +1,4 @@ -package com.study.realworld.domain.user.domain; +package com.study.realworld.domain.user.domain.vo; import com.fasterxml.jackson.annotation.JsonValue; diff --git a/src/main/java/com/study/realworld/domain/user/domain/Name.java b/src/main/java/com/study/realworld/domain/user/domain/vo/Name.java similarity index 95% rename from src/main/java/com/study/realworld/domain/user/domain/Name.java rename to src/main/java/com/study/realworld/domain/user/domain/vo/Name.java index 3e50c480..e50614d2 100644 --- a/src/main/java/com/study/realworld/domain/user/domain/Name.java +++ b/src/main/java/com/study/realworld/domain/user/domain/vo/Name.java @@ -1,4 +1,4 @@ -package com.study.realworld.domain.user.domain; +package com.study.realworld.domain.user.domain.vo; import com.fasterxml.jackson.annotation.JsonValue; diff --git a/src/main/java/com/study/realworld/domain/user/domain/Password.java b/src/main/java/com/study/realworld/domain/user/domain/vo/Password.java similarity index 94% rename from src/main/java/com/study/realworld/domain/user/domain/Password.java rename to src/main/java/com/study/realworld/domain/user/domain/vo/Password.java index 8593e3af..20d2bd36 100644 --- a/src/main/java/com/study/realworld/domain/user/domain/Password.java +++ b/src/main/java/com/study/realworld/domain/user/domain/vo/Password.java @@ -1,4 +1,4 @@ -package com.study.realworld.domain.user.domain; +package com.study.realworld.domain.user.domain.vo; import com.fasterxml.jackson.annotation.JsonValue; import org.springframework.security.crypto.password.PasswordEncoder; diff --git a/src/main/java/com/study/realworld/domain/user/dto/UserJoinRequest.java b/src/main/java/com/study/realworld/domain/user/dto/UserJoinRequest.java index e1890689..86acb7ea 100644 --- a/src/main/java/com/study/realworld/domain/user/dto/UserJoinRequest.java +++ b/src/main/java/com/study/realworld/domain/user/dto/UserJoinRequest.java @@ -3,10 +3,10 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeName; -import com.study.realworld.domain.user.domain.Email; -import com.study.realworld.domain.user.domain.Name; -import com.study.realworld.domain.user.domain.Password; -import com.study.realworld.domain.user.domain.User; +import com.study.realworld.domain.user.domain.vo.Email; +import com.study.realworld.domain.user.domain.vo.Name; +import com.study.realworld.domain.user.domain.vo.Password; +import com.study.realworld.domain.user.domain.persist.User; @JsonTypeName("user") @JsonTypeInfo(include = JsonTypeInfo.As.WRAPPER_OBJECT, use = JsonTypeInfo.Id.NAME) diff --git a/src/main/java/com/study/realworld/domain/user/dto/UserJoinResponse.java b/src/main/java/com/study/realworld/domain/user/dto/UserJoinResponse.java index fc857091..b77f0f00 100644 --- a/src/main/java/com/study/realworld/domain/user/dto/UserJoinResponse.java +++ b/src/main/java/com/study/realworld/domain/user/dto/UserJoinResponse.java @@ -3,7 +3,11 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeName; -import com.study.realworld.domain.user.domain.*; +import com.study.realworld.domain.user.domain.persist.User; +import com.study.realworld.domain.user.domain.vo.Bio; +import com.study.realworld.domain.user.domain.vo.Email; +import com.study.realworld.domain.user.domain.vo.Image; +import com.study.realworld.domain.user.domain.vo.Name; @JsonTypeName("user") @JsonTypeInfo(include = JsonTypeInfo.As.WRAPPER_OBJECT, use = JsonTypeInfo.Id.NAME) diff --git a/src/main/java/com/study/realworld/domain/user/dto/UserResponse.java b/src/main/java/com/study/realworld/domain/user/dto/UserResponse.java index 41203f2d..9d4387fa 100644 --- a/src/main/java/com/study/realworld/domain/user/dto/UserResponse.java +++ b/src/main/java/com/study/realworld/domain/user/dto/UserResponse.java @@ -4,7 +4,11 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeName; import com.study.realworld.domain.auth.dto.ResponseToken; -import com.study.realworld.domain.user.domain.*; +import com.study.realworld.domain.user.domain.persist.User; +import com.study.realworld.domain.user.domain.vo.Bio; +import com.study.realworld.domain.user.domain.vo.Email; +import com.study.realworld.domain.user.domain.vo.Image; +import com.study.realworld.domain.user.domain.vo.Name; @JsonTypeName("user") @JsonTypeInfo(include = JsonTypeInfo.As.WRAPPER_OBJECT, use = JsonTypeInfo.Id.NAME) diff --git a/src/main/java/com/study/realworld/domain/user/dto/UserUpdateRequest.java b/src/main/java/com/study/realworld/domain/user/dto/UserUpdateRequest.java index c3b1d945..9f10660e 100644 --- a/src/main/java/com/study/realworld/domain/user/dto/UserUpdateRequest.java +++ b/src/main/java/com/study/realworld/domain/user/dto/UserUpdateRequest.java @@ -3,10 +3,10 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeName; -import com.study.realworld.domain.user.domain.Bio; -import com.study.realworld.domain.user.domain.Email; -import com.study.realworld.domain.user.domain.Image; -import com.study.realworld.domain.user.domain.User; +import com.study.realworld.domain.user.domain.vo.Bio; +import com.study.realworld.domain.user.domain.vo.Email; +import com.study.realworld.domain.user.domain.vo.Image; +import com.study.realworld.domain.user.domain.persist.User; @JsonTypeName("user") @JsonTypeInfo(include = JsonTypeInfo.As.WRAPPER_OBJECT, use = JsonTypeInfo.Id.NAME) diff --git a/src/main/java/com/study/realworld/domain/user/presentation/UserApi.java b/src/main/java/com/study/realworld/domain/user/presentation/UserApi.java index 4d476999..156571ee 100644 --- a/src/main/java/com/study/realworld/domain/user/presentation/UserApi.java +++ b/src/main/java/com/study/realworld/domain/user/presentation/UserApi.java @@ -4,7 +4,7 @@ import com.study.realworld.domain.auth.infrastructure.TokenProvider; import com.study.realworld.domain.user.application.UserJoinService; import com.study.realworld.domain.user.application.UserUpdateService; -import com.study.realworld.domain.user.domain.User; +import com.study.realworld.domain.user.domain.persist.User; import com.study.realworld.domain.user.dto.UserJoinRequest; import com.study.realworld.domain.user.dto.UserResponse; import com.study.realworld.domain.user.dto.UserUpdateRequest; diff --git a/src/main/java/com/study/realworld/global/jpa/config/JpaConfiguration.java b/src/main/java/com/study/realworld/global/jpa/config/JpaConfiguration.java index 1369c947..736ec808 100644 --- a/src/main/java/com/study/realworld/global/jpa/config/JpaConfiguration.java +++ b/src/main/java/com/study/realworld/global/jpa/config/JpaConfiguration.java @@ -1,9 +1,25 @@ package com.study.realworld.global.jpa.config; +import com.querydsl.jpa.impl.JPAQueryFactory; +import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.jpa.repository.config.EnableJpaAuditing; +import javax.persistence.EntityManager; + @EnableJpaAuditing @Configuration public class JpaConfiguration { + + private final EntityManager entityManager; + + public JpaConfiguration(final EntityManager entityManager) { + this.entityManager = entityManager; + } + + @Bean + public JPAQueryFactory jpaQueryFactory() { + return new JPAQueryFactory(entityManager); + } + } diff --git a/src/main/java/com/study/realworld/global/jwt/authentication/JwtAuthentication.java b/src/main/java/com/study/realworld/global/jwt/authentication/JwtAuthentication.java index 3aef42b5..f1915914 100644 --- a/src/main/java/com/study/realworld/global/jwt/authentication/JwtAuthentication.java +++ b/src/main/java/com/study/realworld/global/jwt/authentication/JwtAuthentication.java @@ -1,7 +1,7 @@ package com.study.realworld.global.jwt.authentication; -import com.study.realworld.domain.user.domain.Password; -import com.study.realworld.domain.user.domain.User; +import com.study.realworld.domain.user.domain.vo.Password; +import com.study.realworld.domain.user.domain.persist.User; import org.springframework.security.authentication.AbstractAuthenticationToken; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.SpringSecurityCoreVersion; @@ -10,7 +10,7 @@ import java.util.Collection; import java.util.Collections; -import static com.study.realworld.domain.user.domain.User.DEFAULT_AUTHORITY; +import static com.study.realworld.domain.user.domain.persist.User.DEFAULT_AUTHORITY; public class JwtAuthentication extends AbstractAuthenticationToken { diff --git a/src/main/java/com/study/realworld/global/jwt/authentication/JwtAuthenticationProvider.java b/src/main/java/com/study/realworld/global/jwt/authentication/JwtAuthenticationProvider.java index 0a6a25bb..084c0ade 100644 --- a/src/main/java/com/study/realworld/global/jwt/authentication/JwtAuthenticationProvider.java +++ b/src/main/java/com/study/realworld/global/jwt/authentication/JwtAuthenticationProvider.java @@ -2,7 +2,7 @@ import com.study.realworld.domain.auth.infrastructure.TokenProvider; import com.study.realworld.domain.user.application.UserFindService; -import com.study.realworld.domain.user.domain.User; +import com.study.realworld.domain.user.domain.persist.User; import com.study.realworld.global.security.error.exception.UserDetailsNullPointerException; import org.springframework.security.authentication.AuthenticationProvider; import org.springframework.security.core.Authentication; diff --git a/src/test/java/com/study/realworld/domain/auth/application/AuthLoginServiceTest.java b/src/test/java/com/study/realworld/domain/auth/application/AuthLoginServiceTest.java index 0d7350e5..db8be810 100644 --- a/src/test/java/com/study/realworld/domain/auth/application/AuthLoginServiceTest.java +++ b/src/test/java/com/study/realworld/domain/auth/application/AuthLoginServiceTest.java @@ -1,6 +1,9 @@ package com.study.realworld.domain.auth.application; -import com.study.realworld.domain.user.domain.*; +import com.study.realworld.domain.user.domain.persist.User; +import com.study.realworld.domain.user.domain.persist.UserRepository; +import com.study.realworld.domain.user.domain.persist.UserTest; +import com.study.realworld.domain.user.domain.vo.*; import com.study.realworld.domain.user.error.exception.EmailNotFoundException; import com.study.realworld.domain.user.error.exception.PasswordMissMatchException; import org.junit.jupiter.api.DisplayName; @@ -13,11 +16,11 @@ import java.util.Optional; -import static com.study.realworld.domain.user.domain.BioTest.BIO; -import static com.study.realworld.domain.user.domain.EmailTest.EMAIL; -import static com.study.realworld.domain.user.domain.ImageTest.IMAGE; -import static com.study.realworld.domain.user.domain.NameTest.USERNAME; -import static com.study.realworld.domain.user.domain.PasswordTest.PASSWORD; +import static com.study.realworld.domain.user.domain.vo.BioTest.BIO; +import static com.study.realworld.domain.user.domain.vo.EmailTest.EMAIL; +import static com.study.realworld.domain.user.domain.vo.ImageTest.IMAGE; +import static com.study.realworld.domain.user.domain.vo.NameTest.USERNAME; +import static com.study.realworld.domain.user.domain.vo.PasswordTest.PASSWORD; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.junit.jupiter.api.Assertions.assertAll; diff --git a/src/test/java/com/study/realworld/domain/auth/dto/LoginRequestTest.java b/src/test/java/com/study/realworld/domain/auth/dto/LoginRequestTest.java index dfdb8f92..bdc741ba 100644 --- a/src/test/java/com/study/realworld/domain/auth/dto/LoginRequestTest.java +++ b/src/test/java/com/study/realworld/domain/auth/dto/LoginRequestTest.java @@ -1,12 +1,12 @@ package com.study.realworld.domain.auth.dto; -import com.study.realworld.domain.user.domain.Email; -import com.study.realworld.domain.user.domain.Password; +import com.study.realworld.domain.user.domain.vo.Email; +import com.study.realworld.domain.user.domain.vo.Password; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; -import static com.study.realworld.domain.user.domain.EmailTest.EMAIL; -import static com.study.realworld.domain.user.domain.PasswordTest.PASSWORD; +import static com.study.realworld.domain.user.domain.vo.EmailTest.EMAIL; +import static com.study.realworld.domain.user.domain.vo.PasswordTest.PASSWORD; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertAll; diff --git a/src/test/java/com/study/realworld/domain/auth/infrastructure/TokenProviderTest.java b/src/test/java/com/study/realworld/domain/auth/infrastructure/TokenProviderTest.java index cdcdeb33..9b6fe6a6 100644 --- a/src/test/java/com/study/realworld/domain/auth/infrastructure/TokenProviderTest.java +++ b/src/test/java/com/study/realworld/domain/auth/infrastructure/TokenProviderTest.java @@ -1,7 +1,9 @@ package com.study.realworld.domain.auth.infrastructure; import com.study.realworld.domain.auth.dto.ResponseToken; -import com.study.realworld.domain.user.domain.*; +import com.study.realworld.domain.user.domain.persist.User; +import com.study.realworld.domain.user.domain.persist.UserTest; +import com.study.realworld.domain.user.domain.vo.*; import com.study.realworld.global.jwt.error.exception.JwtParseException; import io.jsonwebtoken.Jwts; import io.jsonwebtoken.SignatureAlgorithm; @@ -13,11 +15,11 @@ import java.security.Key; import java.util.Date; -import static com.study.realworld.domain.user.domain.BioTest.BIO; -import static com.study.realworld.domain.user.domain.EmailTest.EMAIL; -import static com.study.realworld.domain.user.domain.ImageTest.IMAGE; -import static com.study.realworld.domain.user.domain.NameTest.USERNAME; -import static com.study.realworld.domain.user.domain.PasswordTest.PASSWORD; +import static com.study.realworld.domain.user.domain.vo.BioTest.BIO; +import static com.study.realworld.domain.user.domain.vo.EmailTest.EMAIL; +import static com.study.realworld.domain.user.domain.vo.ImageTest.IMAGE; +import static com.study.realworld.domain.user.domain.vo.NameTest.USERNAME; +import static com.study.realworld.domain.user.domain.vo.PasswordTest.PASSWORD; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.junit.jupiter.api.Assertions.assertAll; diff --git a/src/test/java/com/study/realworld/domain/auth/presentation/AuthApiUnitTest.java b/src/test/java/com/study/realworld/domain/auth/presentation/AuthApiUnitTest.java index 2be14852..d4ed7d48 100644 --- a/src/test/java/com/study/realworld/domain/auth/presentation/AuthApiUnitTest.java +++ b/src/test/java/com/study/realworld/domain/auth/presentation/AuthApiUnitTest.java @@ -5,7 +5,9 @@ import com.study.realworld.domain.auth.dto.LoginRequest; import com.study.realworld.domain.auth.dto.ResponseToken; import com.study.realworld.domain.auth.infrastructure.TokenProvider; -import com.study.realworld.domain.user.domain.*; +import com.study.realworld.domain.user.domain.persist.User; +import com.study.realworld.domain.user.domain.persist.UserTest; +import com.study.realworld.domain.user.domain.vo.*; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -18,11 +20,11 @@ import org.springframework.test.web.servlet.setup.MockMvcBuilders; import static com.study.realworld.domain.auth.dto.LoginRequestTest.loginRequest; -import static com.study.realworld.domain.user.domain.BioTest.BIO; -import static com.study.realworld.domain.user.domain.EmailTest.EMAIL; -import static com.study.realworld.domain.user.domain.ImageTest.IMAGE; -import static com.study.realworld.domain.user.domain.NameTest.USERNAME; -import static com.study.realworld.domain.user.domain.PasswordTest.PASSWORD; +import static com.study.realworld.domain.user.domain.vo.BioTest.BIO; +import static com.study.realworld.domain.user.domain.vo.EmailTest.EMAIL; +import static com.study.realworld.domain.user.domain.vo.ImageTest.IMAGE; +import static com.study.realworld.domain.user.domain.vo.NameTest.USERNAME; +import static com.study.realworld.domain.user.domain.vo.PasswordTest.PASSWORD; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertAll; import static org.mockito.ArgumentMatchers.any; diff --git a/src/test/java/com/study/realworld/domain/follow/domain/FollowRepositoryTest.java b/src/test/java/com/study/realworld/domain/follow/domain/FollowRepositoryTest.java index b36e0882..f88aa1d2 100644 --- a/src/test/java/com/study/realworld/domain/follow/domain/FollowRepositoryTest.java +++ b/src/test/java/com/study/realworld/domain/follow/domain/FollowRepositoryTest.java @@ -1,6 +1,7 @@ package com.study.realworld.domain.follow.domain; -import com.study.realworld.domain.user.domain.*; +import com.study.realworld.domain.user.domain.persist.User; +import com.study.realworld.domain.user.domain.vo.*; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; @@ -8,12 +9,12 @@ import org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager; import static com.study.realworld.domain.follow.domain.FollowTest.followBuilder; -import static com.study.realworld.domain.user.domain.BioTest.BIO; -import static com.study.realworld.domain.user.domain.EmailTest.EMAIL; -import static com.study.realworld.domain.user.domain.ImageTest.IMAGE; -import static com.study.realworld.domain.user.domain.NameTest.USERNAME; -import static com.study.realworld.domain.user.domain.PasswordTest.PASSWORD; -import static com.study.realworld.domain.user.domain.UserTest.userBuilder; +import static com.study.realworld.domain.user.domain.vo.BioTest.BIO; +import static com.study.realworld.domain.user.domain.vo.EmailTest.EMAIL; +import static com.study.realworld.domain.user.domain.vo.ImageTest.IMAGE; +import static com.study.realworld.domain.user.domain.vo.NameTest.USERNAME; +import static com.study.realworld.domain.user.domain.vo.PasswordTest.PASSWORD; +import static com.study.realworld.domain.user.domain.persist.UserTest.userBuilder; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertAll; diff --git a/src/test/java/com/study/realworld/domain/follow/domain/FollowTest.java b/src/test/java/com/study/realworld/domain/follow/domain/FollowTest.java index b355822b..bae323dd 100644 --- a/src/test/java/com/study/realworld/domain/follow/domain/FollowTest.java +++ b/src/test/java/com/study/realworld/domain/follow/domain/FollowTest.java @@ -1,15 +1,16 @@ package com.study.realworld.domain.follow.domain; -import com.study.realworld.domain.user.domain.*; +import com.study.realworld.domain.user.domain.persist.User; +import com.study.realworld.domain.user.domain.vo.*; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; -import static com.study.realworld.domain.user.domain.BioTest.BIO; -import static com.study.realworld.domain.user.domain.EmailTest.EMAIL; -import static com.study.realworld.domain.user.domain.ImageTest.IMAGE; -import static com.study.realworld.domain.user.domain.NameTest.USERNAME; -import static com.study.realworld.domain.user.domain.PasswordTest.PASSWORD; -import static com.study.realworld.domain.user.domain.UserTest.userBuilder; +import static com.study.realworld.domain.user.domain.vo.BioTest.BIO; +import static com.study.realworld.domain.user.domain.vo.EmailTest.EMAIL; +import static com.study.realworld.domain.user.domain.vo.ImageTest.IMAGE; +import static com.study.realworld.domain.user.domain.vo.NameTest.USERNAME; +import static com.study.realworld.domain.user.domain.vo.PasswordTest.PASSWORD; +import static com.study.realworld.domain.user.domain.persist.UserTest.userBuilder; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.*; diff --git a/src/test/java/com/study/realworld/domain/follow/dto/FollowableDtoTest.java b/src/test/java/com/study/realworld/domain/follow/dto/FollowableDtoTest.java new file mode 100644 index 00000000..78180927 --- /dev/null +++ b/src/test/java/com/study/realworld/domain/follow/dto/FollowableDtoTest.java @@ -0,0 +1,43 @@ +package com.study.realworld.domain.follow.dto; + +import com.study.realworld.domain.user.domain.persist.User; +import com.study.realworld.domain.user.domain.vo.*; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +import static com.study.realworld.domain.user.domain.persist.UserTest.userBuilder; +import static com.study.realworld.domain.user.domain.vo.BioTest.BIO; +import static com.study.realworld.domain.user.domain.vo.EmailTest.EMAIL; +import static com.study.realworld.domain.user.domain.vo.ImageTest.IMAGE; +import static com.study.realworld.domain.user.domain.vo.NameTest.USERNAME; +import static com.study.realworld.domain.user.domain.vo.PasswordTest.PASSWORD; +import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.jupiter.api.Assertions.*; + +class FollowableDtoTest { + + @DisplayName("FollowableDto 기본 생성자 테스트") + @Test + void default_constructor_test() { + final FollowableDto followableDto = new FollowableDto(); + + assertAll( + () -> assertThat(followableDto).isNotNull(), + () -> assertThat(followableDto).isExactlyInstanceOf(FollowableDto.class) + ); + } + + @DisplayName("FollowableDto 정적 팩토리 메서드 fromUserAndFollowable() 테스트") + @Test + void fromUserAndFollowable_test() { + final User user = userBuilder(new Email(EMAIL), new Name(USERNAME), new Password(PASSWORD), new Bio(BIO), new Image(IMAGE)); + final boolean followable = false; + final FollowableDto followableDto = FollowableDto.fromUserAndFollowable(user, followable); + + assertAll( + () -> assertThat(followableDto).isNotNull(), + () -> assertThat(followableDto).isExactlyInstanceOf(FollowableDto.class) + ); + } + +} \ No newline at end of file diff --git a/src/test/java/com/study/realworld/domain/user/application/UserFindServiceTest.java b/src/test/java/com/study/realworld/domain/user/application/UserFindServiceTest.java index 0a75b5d3..e254cd8c 100644 --- a/src/test/java/com/study/realworld/domain/user/application/UserFindServiceTest.java +++ b/src/test/java/com/study/realworld/domain/user/application/UserFindServiceTest.java @@ -1,6 +1,9 @@ package com.study.realworld.domain.user.application; -import com.study.realworld.domain.user.domain.*; +import com.study.realworld.domain.follow.domain.FollowRepository; +import com.study.realworld.domain.user.domain.persist.User; +import com.study.realworld.domain.user.domain.persist.UserRepository; +import com.study.realworld.domain.user.domain.vo.*; import com.study.realworld.domain.user.error.exception.EmailNotFoundException; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -11,12 +14,12 @@ import java.util.Optional; -import static com.study.realworld.domain.user.domain.BioTest.BIO; -import static com.study.realworld.domain.user.domain.EmailTest.EMAIL; -import static com.study.realworld.domain.user.domain.ImageTest.IMAGE; -import static com.study.realworld.domain.user.domain.NameTest.USERNAME; -import static com.study.realworld.domain.user.domain.PasswordTest.PASSWORD; -import static com.study.realworld.domain.user.domain.UserTest.userBuilder; +import static com.study.realworld.domain.user.domain.vo.BioTest.BIO; +import static com.study.realworld.domain.user.domain.vo.EmailTest.EMAIL; +import static com.study.realworld.domain.user.domain.vo.ImageTest.IMAGE; +import static com.study.realworld.domain.user.domain.vo.NameTest.USERNAME; +import static com.study.realworld.domain.user.domain.vo.PasswordTest.PASSWORD; +import static com.study.realworld.domain.user.domain.persist.UserTest.userBuilder; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.junit.jupiter.api.Assertions.assertAll; @@ -27,12 +30,13 @@ public class UserFindServiceTest { @Mock private UserRepository userRepository; + @Mock private FollowRepository followRepository; @InjectMocks private UserFindService userFindService; @DisplayName("JwtUserDetailsService 인스턴스 생성자 테스트") @Test void constructor_test() { - final UserFindService userFindService = new UserFindService(userRepository); + final UserFindService userFindService = new UserFindService(userRepository, followRepository); assertAll( () -> assertThat(userFindService).isNotNull(), diff --git a/src/test/java/com/study/realworld/domain/user/application/UserJoinServiceTest.java b/src/test/java/com/study/realworld/domain/user/application/UserJoinServiceTest.java index 511c9c9b..6ea11101 100644 --- a/src/test/java/com/study/realworld/domain/user/application/UserJoinServiceTest.java +++ b/src/test/java/com/study/realworld/domain/user/application/UserJoinServiceTest.java @@ -3,7 +3,9 @@ import com.study.realworld.domain.auth.dto.ResponseToken; import com.study.realworld.domain.auth.dto.token.AccessToken; import com.study.realworld.domain.auth.dto.token.RefreshToken; -import com.study.realworld.domain.user.domain.*; +import com.study.realworld.domain.user.domain.persist.User; +import com.study.realworld.domain.user.domain.persist.UserRepository; +import com.study.realworld.domain.user.domain.vo.*; import com.study.realworld.domain.user.dto.UserJoinRequest; import com.study.realworld.domain.user.dto.UserJoinRequestTest; import com.study.realworld.domain.user.dto.UserResponse; @@ -16,12 +18,12 @@ import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.security.crypto.password.PasswordEncoder; -import static com.study.realworld.domain.user.domain.BioTest.BIO; -import static com.study.realworld.domain.user.domain.EmailTest.EMAIL; -import static com.study.realworld.domain.user.domain.ImageTest.IMAGE; -import static com.study.realworld.domain.user.domain.NameTest.USERNAME; -import static com.study.realworld.domain.user.domain.PasswordTest.PASSWORD; -import static com.study.realworld.domain.user.domain.UserTest.userBuilder; +import static com.study.realworld.domain.user.domain.vo.BioTest.BIO; +import static com.study.realworld.domain.user.domain.vo.EmailTest.EMAIL; +import static com.study.realworld.domain.user.domain.vo.ImageTest.IMAGE; +import static com.study.realworld.domain.user.domain.vo.NameTest.USERNAME; +import static com.study.realworld.domain.user.domain.vo.PasswordTest.PASSWORD; +import static com.study.realworld.domain.user.domain.persist.UserTest.userBuilder; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.junit.jupiter.api.Assertions.assertAll; diff --git a/src/test/java/com/study/realworld/domain/user/application/UserUpdateServiceTest.java b/src/test/java/com/study/realworld/domain/user/application/UserUpdateServiceTest.java index 5b943859..874b6ed8 100644 --- a/src/test/java/com/study/realworld/domain/user/application/UserUpdateServiceTest.java +++ b/src/test/java/com/study/realworld/domain/user/application/UserUpdateServiceTest.java @@ -1,6 +1,8 @@ package com.study.realworld.domain.user.application; -import com.study.realworld.domain.user.domain.*; +import com.study.realworld.domain.user.domain.persist.User; +import com.study.realworld.domain.user.domain.persist.UserRepository; +import com.study.realworld.domain.user.domain.vo.*; import com.study.realworld.domain.user.dto.UserUpdateRequest; import com.study.realworld.domain.user.error.exception.DuplicatedEmailException; import com.study.realworld.domain.user.error.exception.IdentityNotFoundException; @@ -14,12 +16,12 @@ import java.util.Optional; -import static com.study.realworld.domain.user.domain.BioTest.BIO; -import static com.study.realworld.domain.user.domain.EmailTest.EMAIL; -import static com.study.realworld.domain.user.domain.ImageTest.IMAGE; -import static com.study.realworld.domain.user.domain.NameTest.USERNAME; -import static com.study.realworld.domain.user.domain.PasswordTest.PASSWORD; -import static com.study.realworld.domain.user.domain.UserTest.userBuilder; +import static com.study.realworld.domain.user.domain.vo.BioTest.BIO; +import static com.study.realworld.domain.user.domain.vo.EmailTest.EMAIL; +import static com.study.realworld.domain.user.domain.vo.ImageTest.IMAGE; +import static com.study.realworld.domain.user.domain.vo.NameTest.USERNAME; +import static com.study.realworld.domain.user.domain.vo.PasswordTest.PASSWORD; +import static com.study.realworld.domain.user.domain.persist.UserTest.userBuilder; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.junit.jupiter.api.Assertions.assertAll; diff --git a/src/test/java/com/study/realworld/domain/user/domain/UserRepositoryTest.java b/src/test/java/com/study/realworld/domain/user/domain/persist/UserRepositoryTest.java similarity index 83% rename from src/test/java/com/study/realworld/domain/user/domain/UserRepositoryTest.java rename to src/test/java/com/study/realworld/domain/user/domain/persist/UserRepositoryTest.java index 1ae40fa8..417fe61f 100644 --- a/src/test/java/com/study/realworld/domain/user/domain/UserRepositoryTest.java +++ b/src/test/java/com/study/realworld/domain/user/domain/persist/UserRepositoryTest.java @@ -1,5 +1,6 @@ -package com.study.realworld.domain.user.domain; +package com.study.realworld.domain.user.domain.persist; +import com.study.realworld.domain.user.domain.vo.*; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; @@ -8,12 +9,12 @@ import java.util.List; -import static com.study.realworld.domain.user.domain.BioTest.BIO; -import static com.study.realworld.domain.user.domain.EmailTest.EMAIL; -import static com.study.realworld.domain.user.domain.ImageTest.IMAGE; -import static com.study.realworld.domain.user.domain.NameTest.USERNAME; -import static com.study.realworld.domain.user.domain.PasswordTest.PASSWORD; -import static com.study.realworld.domain.user.domain.UserTest.userBuilder; +import static com.study.realworld.domain.user.domain.vo.BioTest.BIO; +import static com.study.realworld.domain.user.domain.vo.EmailTest.EMAIL; +import static com.study.realworld.domain.user.domain.vo.ImageTest.IMAGE; +import static com.study.realworld.domain.user.domain.vo.NameTest.USERNAME; +import static com.study.realworld.domain.user.domain.vo.PasswordTest.PASSWORD; +import static com.study.realworld.domain.user.domain.persist.UserTest.userBuilder; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertAll; diff --git a/src/test/java/com/study/realworld/domain/user/domain/UserTest.java b/src/test/java/com/study/realworld/domain/user/domain/persist/UserTest.java similarity index 89% rename from src/test/java/com/study/realworld/domain/user/domain/UserTest.java rename to src/test/java/com/study/realworld/domain/user/domain/persist/UserTest.java index 8c7bc802..a11b0dbe 100644 --- a/src/test/java/com/study/realworld/domain/user/domain/UserTest.java +++ b/src/test/java/com/study/realworld/domain/user/domain/persist/UserTest.java @@ -1,18 +1,20 @@ -package com.study.realworld.domain.user.domain; +package com.study.realworld.domain.user.domain.persist; import com.study.realworld.domain.follow.domain.Follow; +import com.study.realworld.domain.user.domain.persist.User; +import com.study.realworld.domain.user.domain.vo.*; import com.study.realworld.domain.user.error.exception.PasswordMissMatchException; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.test.util.ReflectionTestUtils; import static com.study.realworld.domain.follow.domain.FollowTest.followBuilder; -import static com.study.realworld.domain.user.domain.BioTest.BIO; -import static com.study.realworld.domain.user.domain.EmailTest.EMAIL; -import static com.study.realworld.domain.user.domain.ImageTest.IMAGE; -import static com.study.realworld.domain.user.domain.NameTest.USERNAME; -import static com.study.realworld.domain.user.domain.PasswordTest.PASSWORD; -import static com.study.realworld.domain.user.domain.PasswordTest.PASSWORD_ENCODER; +import static com.study.realworld.domain.user.domain.vo.BioTest.BIO; +import static com.study.realworld.domain.user.domain.vo.EmailTest.EMAIL; +import static com.study.realworld.domain.user.domain.vo.ImageTest.IMAGE; +import static com.study.realworld.domain.user.domain.vo.NameTest.USERNAME; +import static com.study.realworld.domain.user.domain.vo.PasswordTest.PASSWORD; +import static com.study.realworld.domain.user.domain.vo.PasswordTest.PASSWORD_ENCODER; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.junit.jupiter.api.Assertions.assertAll; diff --git a/src/test/java/com/study/realworld/domain/user/domain/BioTest.java b/src/test/java/com/study/realworld/domain/user/domain/vo/BioTest.java similarity index 94% rename from src/test/java/com/study/realworld/domain/user/domain/BioTest.java rename to src/test/java/com/study/realworld/domain/user/domain/vo/BioTest.java index 62200caf..0efea866 100644 --- a/src/test/java/com/study/realworld/domain/user/domain/BioTest.java +++ b/src/test/java/com/study/realworld/domain/user/domain/vo/BioTest.java @@ -1,5 +1,6 @@ -package com.study.realworld.domain.user.domain; +package com.study.realworld.domain.user.domain.vo; +import com.study.realworld.domain.user.domain.vo.Bio; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; diff --git a/src/test/java/com/study/realworld/domain/user/domain/EmailTest.java b/src/test/java/com/study/realworld/domain/user/domain/vo/EmailTest.java similarity index 97% rename from src/test/java/com/study/realworld/domain/user/domain/EmailTest.java rename to src/test/java/com/study/realworld/domain/user/domain/vo/EmailTest.java index c108459d..48706818 100644 --- a/src/test/java/com/study/realworld/domain/user/domain/EmailTest.java +++ b/src/test/java/com/study/realworld/domain/user/domain/vo/EmailTest.java @@ -1,5 +1,6 @@ -package com.study.realworld.domain.user.domain; +package com.study.realworld.domain.user.domain.vo; +import com.study.realworld.domain.user.domain.vo.Email; import org.apache.logging.log4j.util.Strings; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.DisplayName; diff --git a/src/test/java/com/study/realworld/domain/user/domain/ImageTest.java b/src/test/java/com/study/realworld/domain/user/domain/vo/ImageTest.java similarity index 94% rename from src/test/java/com/study/realworld/domain/user/domain/ImageTest.java rename to src/test/java/com/study/realworld/domain/user/domain/vo/ImageTest.java index c4589bb3..7c2200b9 100644 --- a/src/test/java/com/study/realworld/domain/user/domain/ImageTest.java +++ b/src/test/java/com/study/realworld/domain/user/domain/vo/ImageTest.java @@ -1,5 +1,6 @@ -package com.study.realworld.domain.user.domain; +package com.study.realworld.domain.user.domain.vo; +import com.study.realworld.domain.user.domain.vo.Image; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; diff --git a/src/test/java/com/study/realworld/domain/user/domain/NameTest.java b/src/test/java/com/study/realworld/domain/user/domain/vo/NameTest.java similarity index 96% rename from src/test/java/com/study/realworld/domain/user/domain/NameTest.java rename to src/test/java/com/study/realworld/domain/user/domain/vo/NameTest.java index bc0b3b15..a2486335 100644 --- a/src/test/java/com/study/realworld/domain/user/domain/NameTest.java +++ b/src/test/java/com/study/realworld/domain/user/domain/vo/NameTest.java @@ -1,5 +1,6 @@ -package com.study.realworld.domain.user.domain; +package com.study.realworld.domain.user.domain.vo; +import com.study.realworld.domain.user.domain.vo.Name; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; diff --git a/src/test/java/com/study/realworld/domain/user/domain/PasswordTest.java b/src/test/java/com/study/realworld/domain/user/domain/vo/PasswordTest.java similarity index 96% rename from src/test/java/com/study/realworld/domain/user/domain/PasswordTest.java rename to src/test/java/com/study/realworld/domain/user/domain/vo/PasswordTest.java index bdca05c8..e4449753 100644 --- a/src/test/java/com/study/realworld/domain/user/domain/PasswordTest.java +++ b/src/test/java/com/study/realworld/domain/user/domain/vo/PasswordTest.java @@ -1,6 +1,7 @@ -package com.study.realworld.domain.user.domain; +package com.study.realworld.domain.user.domain.vo; import com.study.realworld.domain.user.domain.testUtil.TestPasswordEncoder; +import com.study.realworld.domain.user.domain.vo.Password; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; diff --git a/src/test/java/com/study/realworld/domain/user/dto/UserJoinRequestTest.java b/src/test/java/com/study/realworld/domain/user/dto/UserJoinRequestTest.java index 86f29fa5..e7245ea2 100644 --- a/src/test/java/com/study/realworld/domain/user/dto/UserJoinRequestTest.java +++ b/src/test/java/com/study/realworld/domain/user/dto/UserJoinRequestTest.java @@ -1,16 +1,16 @@ package com.study.realworld.domain.user.dto; -import com.study.realworld.domain.user.domain.Email; -import com.study.realworld.domain.user.domain.Name; -import com.study.realworld.domain.user.domain.Password; -import com.study.realworld.domain.user.domain.User; +import com.study.realworld.domain.user.domain.vo.Email; +import com.study.realworld.domain.user.domain.vo.Name; +import com.study.realworld.domain.user.domain.vo.Password; +import com.study.realworld.domain.user.domain.persist.User; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; -import static com.study.realworld.domain.user.domain.EmailTest.EMAIL; -import static com.study.realworld.domain.user.domain.NameTest.USERNAME; -import static com.study.realworld.domain.user.domain.PasswordTest.PASSWORD; -import static com.study.realworld.domain.user.domain.PasswordTest.PASSWORD_ENCODER; +import static com.study.realworld.domain.user.domain.vo.EmailTest.EMAIL; +import static com.study.realworld.domain.user.domain.vo.NameTest.USERNAME; +import static com.study.realworld.domain.user.domain.vo.PasswordTest.PASSWORD; +import static com.study.realworld.domain.user.domain.vo.PasswordTest.PASSWORD_ENCODER; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertAll; diff --git a/src/test/java/com/study/realworld/domain/user/dto/UserJoinResponseTest.java b/src/test/java/com/study/realworld/domain/user/dto/UserJoinResponseTest.java index bdca8dc3..004ee594 100644 --- a/src/test/java/com/study/realworld/domain/user/dto/UserJoinResponseTest.java +++ b/src/test/java/com/study/realworld/domain/user/dto/UserJoinResponseTest.java @@ -1,15 +1,16 @@ package com.study.realworld.domain.user.dto; -import com.study.realworld.domain.user.domain.*; +import com.study.realworld.domain.user.domain.persist.User; +import com.study.realworld.domain.user.domain.vo.*; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; -import static com.study.realworld.domain.user.domain.BioTest.BIO; -import static com.study.realworld.domain.user.domain.EmailTest.EMAIL; -import static com.study.realworld.domain.user.domain.ImageTest.IMAGE; -import static com.study.realworld.domain.user.domain.NameTest.USERNAME; -import static com.study.realworld.domain.user.domain.PasswordTest.PASSWORD; -import static com.study.realworld.domain.user.domain.UserTest.userBuilder; +import static com.study.realworld.domain.user.domain.vo.BioTest.BIO; +import static com.study.realworld.domain.user.domain.vo.EmailTest.EMAIL; +import static com.study.realworld.domain.user.domain.vo.ImageTest.IMAGE; +import static com.study.realworld.domain.user.domain.vo.NameTest.USERNAME; +import static com.study.realworld.domain.user.domain.vo.PasswordTest.PASSWORD; +import static com.study.realworld.domain.user.domain.persist.UserTest.userBuilder; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertAll; diff --git a/src/test/java/com/study/realworld/domain/user/dto/UserResponseTest.java b/src/test/java/com/study/realworld/domain/user/dto/UserResponseTest.java index 096f0921..6fbe1344 100644 --- a/src/test/java/com/study/realworld/domain/user/dto/UserResponseTest.java +++ b/src/test/java/com/study/realworld/domain/user/dto/UserResponseTest.java @@ -3,16 +3,17 @@ import com.study.realworld.domain.auth.dto.ResponseToken; import com.study.realworld.domain.auth.dto.token.AccessToken; import com.study.realworld.domain.auth.dto.token.RefreshToken; -import com.study.realworld.domain.user.domain.*; +import com.study.realworld.domain.user.domain.persist.User; +import com.study.realworld.domain.user.domain.vo.*; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; -import static com.study.realworld.domain.user.domain.BioTest.BIO; -import static com.study.realworld.domain.user.domain.EmailTest.EMAIL; -import static com.study.realworld.domain.user.domain.ImageTest.IMAGE; -import static com.study.realworld.domain.user.domain.NameTest.USERNAME; -import static com.study.realworld.domain.user.domain.PasswordTest.PASSWORD; -import static com.study.realworld.domain.user.domain.UserTest.userBuilder; +import static com.study.realworld.domain.user.domain.vo.BioTest.BIO; +import static com.study.realworld.domain.user.domain.vo.EmailTest.EMAIL; +import static com.study.realworld.domain.user.domain.vo.ImageTest.IMAGE; +import static com.study.realworld.domain.user.domain.vo.NameTest.USERNAME; +import static com.study.realworld.domain.user.domain.vo.PasswordTest.PASSWORD; +import static com.study.realworld.domain.user.domain.persist.UserTest.userBuilder; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertAll; diff --git a/src/test/java/com/study/realworld/domain/user/dto/UserUpdateRequestTest.java b/src/test/java/com/study/realworld/domain/user/dto/UserUpdateRequestTest.java index 53ba284a..28ebedc8 100644 --- a/src/test/java/com/study/realworld/domain/user/dto/UserUpdateRequestTest.java +++ b/src/test/java/com/study/realworld/domain/user/dto/UserUpdateRequestTest.java @@ -1,15 +1,15 @@ package com.study.realworld.domain.user.dto; -import com.study.realworld.domain.user.domain.Bio; -import com.study.realworld.domain.user.domain.Email; -import com.study.realworld.domain.user.domain.Image; -import com.study.realworld.domain.user.domain.User; +import com.study.realworld.domain.user.domain.vo.Bio; +import com.study.realworld.domain.user.domain.vo.Email; +import com.study.realworld.domain.user.domain.vo.Image; +import com.study.realworld.domain.user.domain.persist.User; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; -import static com.study.realworld.domain.user.domain.BioTest.BIO; -import static com.study.realworld.domain.user.domain.EmailTest.EMAIL; -import static com.study.realworld.domain.user.domain.ImageTest.IMAGE; +import static com.study.realworld.domain.user.domain.vo.BioTest.BIO; +import static com.study.realworld.domain.user.domain.vo.EmailTest.EMAIL; +import static com.study.realworld.domain.user.domain.vo.ImageTest.IMAGE; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.*; diff --git a/src/test/java/com/study/realworld/domain/user/error/UserErrorCodeTest.java b/src/test/java/com/study/realworld/domain/user/error/UserErrorCodeTest.java index e973a531..4dc204c6 100644 --- a/src/test/java/com/study/realworld/domain/user/error/UserErrorCodeTest.java +++ b/src/test/java/com/study/realworld/domain/user/error/UserErrorCodeTest.java @@ -5,7 +5,7 @@ import org.junit.jupiter.api.Test; import org.springframework.http.HttpStatus; -import static com.study.realworld.domain.user.domain.EmailTest.EMAIL; +import static com.study.realworld.domain.user.domain.vo.EmailTest.EMAIL; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.*; diff --git a/src/test/java/com/study/realworld/domain/user/presentation/UserApiDocumentTest.java b/src/test/java/com/study/realworld/domain/user/presentation/UserApiDocumentTest.java index 6c54aabf..8f28415a 100644 --- a/src/test/java/com/study/realworld/domain/user/presentation/UserApiDocumentTest.java +++ b/src/test/java/com/study/realworld/domain/user/presentation/UserApiDocumentTest.java @@ -5,7 +5,8 @@ import com.study.realworld.domain.auth.infrastructure.TokenProvider; import com.study.realworld.domain.user.application.UserJoinService; import com.study.realworld.domain.user.application.UserUpdateService; -import com.study.realworld.domain.user.domain.*; +import com.study.realworld.domain.user.domain.persist.User; +import com.study.realworld.domain.user.domain.vo.*; import com.study.realworld.domain.user.dto.UserJoinRequest; import com.study.realworld.domain.user.dto.UserUpdateRequest; import org.junit.jupiter.api.BeforeEach; @@ -25,13 +26,13 @@ import static com.study.realworld.documentation.ApiDocumentUtils.getDocumentRequest; import static com.study.realworld.documentation.ApiDocumentUtils.getDocumentResponse; -import static com.study.realworld.domain.user.domain.BioTest.BIO; -import static com.study.realworld.domain.user.domain.EmailTest.EMAIL; -import static com.study.realworld.domain.user.domain.ImageTest.IMAGE; -import static com.study.realworld.domain.user.domain.NameTest.USERNAME; -import static com.study.realworld.domain.user.domain.PasswordTest.PASSWORD; -import static com.study.realworld.domain.user.domain.PasswordTest.PASSWORD_ENCODER; -import static com.study.realworld.domain.user.domain.UserTest.userBuilder; +import static com.study.realworld.domain.user.domain.vo.BioTest.BIO; +import static com.study.realworld.domain.user.domain.vo.EmailTest.EMAIL; +import static com.study.realworld.domain.user.domain.vo.ImageTest.IMAGE; +import static com.study.realworld.domain.user.domain.vo.NameTest.USERNAME; +import static com.study.realworld.domain.user.domain.vo.PasswordTest.PASSWORD; +import static com.study.realworld.domain.user.domain.vo.PasswordTest.PASSWORD_ENCODER; +import static com.study.realworld.domain.user.domain.persist.UserTest.userBuilder; import static com.study.realworld.domain.user.dto.UserJoinRequestTest.userJoinRequest; import static com.study.realworld.domain.user.dto.UserUpdateRequestTest.userUpdateRequest; import static org.mockito.ArgumentMatchers.any; diff --git a/src/test/java/com/study/realworld/domain/user/presentation/UserApiFailTest.java b/src/test/java/com/study/realworld/domain/user/presentation/UserApiFailTest.java index ea477d30..ead78419 100644 --- a/src/test/java/com/study/realworld/domain/user/presentation/UserApiFailTest.java +++ b/src/test/java/com/study/realworld/domain/user/presentation/UserApiFailTest.java @@ -4,7 +4,7 @@ import com.study.realworld.domain.auth.infrastructure.TokenProvider; import com.study.realworld.domain.user.application.UserJoinService; import com.study.realworld.domain.user.application.UserUpdateService; -import com.study.realworld.domain.user.domain.*; +import com.study.realworld.domain.user.domain.vo.*; import com.study.realworld.domain.user.dto.UserJoinRequest; import com.study.realworld.domain.user.dto.UserUpdateRequest; import com.study.realworld.domain.user.error.UserErrorCode; @@ -21,9 +21,9 @@ import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.setup.MockMvcBuilders; -import static com.study.realworld.domain.user.domain.EmailTest.EMAIL; -import static com.study.realworld.domain.user.domain.NameTest.USERNAME; -import static com.study.realworld.domain.user.domain.PasswordTest.PASSWORD; +import static com.study.realworld.domain.user.domain.vo.EmailTest.EMAIL; +import static com.study.realworld.domain.user.domain.vo.NameTest.USERNAME; +import static com.study.realworld.domain.user.domain.vo.PasswordTest.PASSWORD; import static com.study.realworld.domain.user.dto.UserJoinRequestTest.userJoinRequest; import static com.study.realworld.domain.user.dto.UserUpdateRequestTest.userUpdateRequest; import static org.mockito.ArgumentMatchers.any; diff --git a/src/test/java/com/study/realworld/domain/user/presentation/UserApiUnitTest.java b/src/test/java/com/study/realworld/domain/user/presentation/UserApiUnitTest.java index 10f52249..2520039e 100644 --- a/src/test/java/com/study/realworld/domain/user/presentation/UserApiUnitTest.java +++ b/src/test/java/com/study/realworld/domain/user/presentation/UserApiUnitTest.java @@ -5,7 +5,8 @@ import com.study.realworld.domain.auth.infrastructure.TokenProvider; import com.study.realworld.domain.user.application.UserJoinService; import com.study.realworld.domain.user.application.UserUpdateService; -import com.study.realworld.domain.user.domain.*; +import com.study.realworld.domain.user.domain.persist.User; +import com.study.realworld.domain.user.domain.vo.*; import com.study.realworld.domain.user.dto.UserJoinRequest; import com.study.realworld.domain.user.dto.UserUpdateRequest; import org.junit.jupiter.api.BeforeEach; @@ -19,13 +20,13 @@ import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.setup.MockMvcBuilders; -import static com.study.realworld.domain.user.domain.BioTest.BIO; -import static com.study.realworld.domain.user.domain.EmailTest.EMAIL; -import static com.study.realworld.domain.user.domain.ImageTest.IMAGE; -import static com.study.realworld.domain.user.domain.NameTest.USERNAME; -import static com.study.realworld.domain.user.domain.PasswordTest.PASSWORD; -import static com.study.realworld.domain.user.domain.PasswordTest.PASSWORD_ENCODER; -import static com.study.realworld.domain.user.domain.UserTest.userBuilder; +import static com.study.realworld.domain.user.domain.vo.BioTest.BIO; +import static com.study.realworld.domain.user.domain.vo.EmailTest.EMAIL; +import static com.study.realworld.domain.user.domain.vo.ImageTest.IMAGE; +import static com.study.realworld.domain.user.domain.vo.NameTest.USERNAME; +import static com.study.realworld.domain.user.domain.vo.PasswordTest.PASSWORD; +import static com.study.realworld.domain.user.domain.vo.PasswordTest.PASSWORD_ENCODER; +import static com.study.realworld.domain.user.domain.persist.UserTest.userBuilder; import static com.study.realworld.domain.user.dto.UserJoinRequestTest.userJoinRequest; import static com.study.realworld.domain.user.dto.UserUpdateRequestTest.userUpdateRequest; import static org.mockito.ArgumentMatchers.any; diff --git a/src/test/java/com/study/realworld/global/jwt/JwtAuthenticationFilterTest.java b/src/test/java/com/study/realworld/global/jwt/JwtAuthenticationFilterTest.java index 69113b70..88c95225 100644 --- a/src/test/java/com/study/realworld/global/jwt/JwtAuthenticationFilterTest.java +++ b/src/test/java/com/study/realworld/global/jwt/JwtAuthenticationFilterTest.java @@ -1,6 +1,7 @@ package com.study.realworld.global.jwt; -import com.study.realworld.domain.user.domain.*; +import com.study.realworld.domain.user.domain.persist.User; +import com.study.realworld.domain.user.domain.vo.*; import com.study.realworld.global.jwt.authentication.JwtAuthentication; import com.study.realworld.global.jwt.authentication.JwtAuthenticationProviderManager; import com.study.realworld.global.jwt.filter.JwtAuthenticationFilter; @@ -20,12 +21,12 @@ import java.io.IOException; import static com.study.realworld.domain.auth.infrastructure.TokenProviderTest.testToken; -import static com.study.realworld.domain.user.domain.BioTest.BIO; -import static com.study.realworld.domain.user.domain.EmailTest.EMAIL; -import static com.study.realworld.domain.user.domain.ImageTest.IMAGE; -import static com.study.realworld.domain.user.domain.NameTest.USERNAME; -import static com.study.realworld.domain.user.domain.PasswordTest.PASSWORD; -import static com.study.realworld.domain.user.domain.UserTest.userBuilder; +import static com.study.realworld.domain.user.domain.vo.BioTest.BIO; +import static com.study.realworld.domain.user.domain.vo.EmailTest.EMAIL; +import static com.study.realworld.domain.user.domain.vo.ImageTest.IMAGE; +import static com.study.realworld.domain.user.domain.vo.NameTest.USERNAME; +import static com.study.realworld.domain.user.domain.vo.PasswordTest.PASSWORD; +import static com.study.realworld.domain.user.domain.persist.UserTest.userBuilder; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertAll; import static org.mockito.ArgumentMatchers.any; diff --git a/src/test/java/com/study/realworld/global/jwt/JwtAuthenticationProviderManagerTest.java b/src/test/java/com/study/realworld/global/jwt/JwtAuthenticationProviderManagerTest.java index d70be422..7650da20 100644 --- a/src/test/java/com/study/realworld/global/jwt/JwtAuthenticationProviderManagerTest.java +++ b/src/test/java/com/study/realworld/global/jwt/JwtAuthenticationProviderManagerTest.java @@ -1,6 +1,7 @@ package com.study.realworld.global.jwt; -import com.study.realworld.domain.user.domain.*; +import com.study.realworld.domain.user.domain.persist.User; +import com.study.realworld.domain.user.domain.vo.*; import com.study.realworld.global.jwt.authentication.JwtAuthentication; import com.study.realworld.global.jwt.authentication.JwtAuthenticationProvider; import com.study.realworld.global.jwt.authentication.JwtAuthenticationProviderManager; @@ -16,12 +17,12 @@ import org.springframework.test.util.ReflectionTestUtils; import static com.study.realworld.domain.auth.infrastructure.TokenProviderTest.testToken; -import static com.study.realworld.domain.user.domain.BioTest.BIO; -import static com.study.realworld.domain.user.domain.EmailTest.EMAIL; -import static com.study.realworld.domain.user.domain.ImageTest.IMAGE; -import static com.study.realworld.domain.user.domain.NameTest.USERNAME; -import static com.study.realworld.domain.user.domain.PasswordTest.PASSWORD; -import static com.study.realworld.domain.user.domain.UserTest.userBuilder; +import static com.study.realworld.domain.user.domain.vo.BioTest.BIO; +import static com.study.realworld.domain.user.domain.vo.EmailTest.EMAIL; +import static com.study.realworld.domain.user.domain.vo.ImageTest.IMAGE; +import static com.study.realworld.domain.user.domain.vo.NameTest.USERNAME; +import static com.study.realworld.domain.user.domain.vo.PasswordTest.PASSWORD; +import static com.study.realworld.domain.user.domain.persist.UserTest.userBuilder; import static com.study.realworld.global.jwt.authentication.JwtAuthentication.initAuthentication; import static com.study.realworld.global.jwt.authentication.JwtAuthentication.ofUser; import static org.assertj.core.api.Assertions.assertThat; diff --git a/src/test/java/com/study/realworld/global/jwt/JwtAuthenticationProviderTest.java b/src/test/java/com/study/realworld/global/jwt/JwtAuthenticationProviderTest.java index 003f81c3..62f89770 100644 --- a/src/test/java/com/study/realworld/global/jwt/JwtAuthenticationProviderTest.java +++ b/src/test/java/com/study/realworld/global/jwt/JwtAuthenticationProviderTest.java @@ -2,7 +2,8 @@ import com.study.realworld.domain.auth.infrastructure.TokenProvider; import com.study.realworld.domain.user.application.UserFindService; -import com.study.realworld.domain.user.domain.*; +import com.study.realworld.domain.user.domain.persist.User; +import com.study.realworld.domain.user.domain.vo.*; import com.study.realworld.global.jwt.authentication.JwtAuthentication; import com.study.realworld.global.jwt.authentication.JwtAuthenticationProvider; import com.study.realworld.global.security.error.exception.UserDetailsNullPointerException; @@ -18,12 +19,12 @@ import org.springframework.test.util.ReflectionTestUtils; import static com.study.realworld.domain.auth.infrastructure.TokenProviderTest.testToken; -import static com.study.realworld.domain.user.domain.BioTest.BIO; -import static com.study.realworld.domain.user.domain.EmailTest.EMAIL; -import static com.study.realworld.domain.user.domain.ImageTest.IMAGE; -import static com.study.realworld.domain.user.domain.NameTest.USERNAME; -import static com.study.realworld.domain.user.domain.PasswordTest.PASSWORD; -import static com.study.realworld.domain.user.domain.UserTest.userBuilder; +import static com.study.realworld.domain.user.domain.vo.BioTest.BIO; +import static com.study.realworld.domain.user.domain.vo.EmailTest.EMAIL; +import static com.study.realworld.domain.user.domain.vo.ImageTest.IMAGE; +import static com.study.realworld.domain.user.domain.vo.NameTest.USERNAME; +import static com.study.realworld.domain.user.domain.vo.PasswordTest.PASSWORD; +import static com.study.realworld.domain.user.domain.persist.UserTest.userBuilder; import static com.study.realworld.global.jwt.authentication.JwtAuthentication.initAuthentication; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; diff --git a/src/test/java/com/study/realworld/global/jwt/JwtAuthenticationTest.java b/src/test/java/com/study/realworld/global/jwt/JwtAuthenticationTest.java index 0c008dc9..2296a400 100644 --- a/src/test/java/com/study/realworld/global/jwt/JwtAuthenticationTest.java +++ b/src/test/java/com/study/realworld/global/jwt/JwtAuthenticationTest.java @@ -1,6 +1,7 @@ package com.study.realworld.global.jwt; -import com.study.realworld.domain.user.domain.*; +import com.study.realworld.domain.user.domain.persist.User; +import com.study.realworld.domain.user.domain.vo.*; import com.study.realworld.global.jwt.authentication.JwtAuthentication; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -11,13 +12,13 @@ import java.util.Collections; import java.util.Set; -import static com.study.realworld.domain.user.domain.BioTest.BIO; -import static com.study.realworld.domain.user.domain.EmailTest.EMAIL; -import static com.study.realworld.domain.user.domain.ImageTest.IMAGE; -import static com.study.realworld.domain.user.domain.NameTest.USERNAME; -import static com.study.realworld.domain.user.domain.PasswordTest.PASSWORD; -import static com.study.realworld.domain.user.domain.User.DEFAULT_AUTHORITY; -import static com.study.realworld.domain.user.domain.UserTest.userBuilder; +import static com.study.realworld.domain.user.domain.vo.BioTest.BIO; +import static com.study.realworld.domain.user.domain.vo.EmailTest.EMAIL; +import static com.study.realworld.domain.user.domain.vo.ImageTest.IMAGE; +import static com.study.realworld.domain.user.domain.vo.NameTest.USERNAME; +import static com.study.realworld.domain.user.domain.vo.PasswordTest.PASSWORD; +import static com.study.realworld.domain.user.domain.persist.User.DEFAULT_AUTHORITY; +import static com.study.realworld.domain.user.domain.persist.UserTest.userBuilder; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertAll;