Skip to content

Commit

Permalink
test: 테스트코드에 주석 추가
Browse files Browse the repository at this point in the history
  • Loading branch information
minahYu committed Jun 28, 2024
1 parent fe5073d commit e2bda22
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ internal class FriendServiceImplTest : FunSpec({
)

test("친구신청_성공") {
// given
val user = mockk<User> { every { id } returns CommonTest.TEST_USER_ID }
val friend = mockk<User> { every { id } returns CommonTest.TEST_FRIEND_ID }

Expand All @@ -47,7 +48,10 @@ internal class FriendServiceImplTest : FunSpec({
every { user.requestFriend(friend) } just Runs
every { friend.receiveFriendRequest(user) } just Runs

// when
val response = friendService.addFriend(CommonTest.TEST_USER_ID, CommonTest.TEST_FRIEND_ID)

// then
response.friendId shouldBe CommonTest.TEST_FRIEND_ID

verify { friendService.checkSelfFriend(user, friend) }
Expand All @@ -57,6 +61,7 @@ internal class FriendServiceImplTest : FunSpec({
}

test("친구신청_실패_자기자신을 친구로 추가하는 케이스") {
// given
val user = mockk<User>()

every { userService.getUser(CommonTest.TEST_USER_ID) } returns user
Expand All @@ -67,17 +72,21 @@ internal class FriendServiceImplTest : FunSpec({
friendService.checkSelfFriend(user, user)
} throws ServiceException(UserErrorCode.NOT_SELF_FOLLOW)

// when
val exception =
shouldThrow<ServiceException> {
friendService.addFriend(CommonTest.TEST_USER_ID, CommonTest.TEST_USER_ID)
}

// then
exception.errorCode.message() shouldBe "자기자신에게 친구요청을 보낼 수 없습니다"

verify(exactly = 0) { user.requestFriend(any()) }
verify(exactly = 0) { user.receiveFriendRequest(any()) }
}

test("친구신청_실패_이미 친구인 케이스") {
// given
val user = mockk<User>()
val friend = mockk<User>()

Expand All @@ -91,10 +100,13 @@ internal class FriendServiceImplTest : FunSpec({
friendService.checkFriendRelationExists(CommonTest.TEST_USER_ID, CommonTest.TEST_FRIEND_ID)
} throws ServiceException(UserErrorCode.ALREADY_FRIEND)

// when
val exception =
shouldThrow<ServiceException> {
friendService.addFriend(CommonTest.TEST_USER_ID, CommonTest.TEST_FRIEND_ID)
}

// then
exception.errorCode.message() shouldBe "이미 친구입니다."

verify { friendService.checkSelfFriend(user, friend) }
Expand All @@ -104,6 +116,7 @@ internal class FriendServiceImplTest : FunSpec({
}

test("친구신청조회_성공") {
// given
val friendInfo =
mockk<User> {
every { id } returns CommonTest.TEST_FRIEND_ID
Expand All @@ -122,7 +135,10 @@ internal class FriendServiceImplTest : FunSpec({
)
} returns friendList

// when
val response = friendService.getFriendRequests(CommonTest.TEST_USER_ID)

// then
response.userId shouldBe CommonTest.TEST_USER_ID
for (request in response.friendRequests) {
request.friendId shouldBe CommonTest.TEST_FRIEND_ID
Expand All @@ -131,6 +147,7 @@ internal class FriendServiceImplTest : FunSpec({
}

test("친구신청수락_성공") {
// given
val receivedFriend =
mockk<Friend> {
every { requestStatus } returns FriendRequestStatus.RECEIVED
Expand All @@ -156,8 +173,11 @@ internal class FriendServiceImplTest : FunSpec({
every { receivedFriend.updateRequestStatus(any()) } just Runs
every { requestedFriend.updateRequestStatus(any()) } just Runs

// when
val response =
friendService.acceptFriendRequest(CommonTest.TEST_USER_ID, CommonTest.TEST_FRIEND_ID)

// then
response.friendId shouldBe CommonTest.TEST_FRIEND_ID

verify(exactly = 2) {
Expand All @@ -166,22 +186,26 @@ internal class FriendServiceImplTest : FunSpec({
}

test("친구신청수락_실패_해당하는 친구신청이 없는 케이스") {
// given
every {
friendRepository.findByUserIdAndFriendId(
CommonTest.TEST_USER_ID,
CommonTest.TEST_FRIEND_ID,
)
} throws ServiceException(UserErrorCode.FRIENDSHIP_NOT_FOUND)

// when
val exception =
shouldThrow<ServiceException> {
friendService.acceptFriendRequest(CommonTest.TEST_USER_ID, CommonTest.TEST_FRIEND_ID)
}

// then
exception.errorCode.message() shouldBe "해당하는 친구신청이 없습니다."
}

test("친구신청수락_실패_이미 친구인 케이스") {

// given
every {
friendRepository.findByUserIdAndFriendId(
CommonTest.TEST_USER_ID,
Expand All @@ -195,14 +219,18 @@ internal class FriendServiceImplTest : FunSpec({
)
} throws ServiceException(UserErrorCode.FRIENDSHIP_ALREADY_EXISTS)

// when
val exception =
shouldThrow<ServiceException> {
friendService.acceptFriendRequest(CommonTest.TEST_USER_ID, CommonTest.TEST_FRIEND_ID)
}

// then
exception.errorCode.message() shouldBe "이미 친구입니다."
}

test("친구삭제_성공") {
// given
val user = mockk<User>()
val friend = mockk<User>()
val userFriendRelation = mockk<Friend>()
Expand All @@ -220,12 +248,16 @@ internal class FriendServiceImplTest : FunSpec({

every { user.removeFriendRelation(userFriendRelation) } just Runs

// when
val response =
friendService.deleteFriend(CommonTest.TEST_USER_ID, CommonTest.TEST_FRIEND_ID)

// then
response.friendId shouldBe CommonTest.TEST_FRIEND_ID
}

test("친구삭제_실패_해당하는 친구가 없는 케이스") {
// given
val user = mockk<User>()
val friend = mockk<User>()

Expand All @@ -239,14 +271,18 @@ internal class FriendServiceImplTest : FunSpec({
)
} throws ServiceException(UserErrorCode.FRIEND_NOT_FOUND)

// when
val exception =
shouldThrow<ServiceException> {
friendService.deleteFriend(CommonTest.TEST_USER_ID, CommonTest.TEST_FRIEND_ID)
}

// then
exception.errorCode.message() shouldBe "해당하는 친구가 없습니다."
}

test("친구조회_성공") {
// given
val dir = System.getProperty("user.dir")
val imagePath = Paths.get(dir)
val friendInfo =
Expand All @@ -269,7 +305,10 @@ internal class FriendServiceImplTest : FunSpec({
)
} returns friends

// when
val response = friendService.getFriends(CommonTest.TEST_USER_ID)

// then
response.userId shouldBe CommonTest.TEST_USER_ID
for (request in response.friends) {
request.friendId shouldBe CommonTest.TEST_FRIEND_ID
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ class UserServiceImplTest : FunSpec({
}

test("회원가입_성공") {
// given
val userId = 1L
val user =
User(
Expand All @@ -53,8 +54,10 @@ class UserServiceImplTest : FunSpec({
every { passwordEncoder.encode(createUserRequest.password) } returns ENCODED_PASSWORD
every { userRepository.save(any()) } returns user

// when
val response = userService.createUser(createUserRequest)

// then
verify { userRepository.save(any()) }

userId shouldBe response.id
Expand All @@ -64,13 +67,17 @@ class UserServiceImplTest : FunSpec({
}

test("회원가입_실패_이메일중복케이스") {
// given
every { userService.handleDuplicateEmail(TEST_EMAIL) } throws
ServiceException(UserErrorCode.ALREADY_EXISTS_EMAIL)

// when
val exception =
shouldThrow<ServiceException> {
userService.handleDuplicateEmail(createUserRequest.email)
}

// then
exception.errorCode.message() shouldBe "이미 존재하는 이메일입니다."

verify { userRepository.save(any()) wasNot Called }
Expand Down

0 comments on commit e2bda22

Please sign in to comment.