Skip to content

Commit

Permalink
Merge pull request #295 from Team-Smeme/sohyeon_#294
Browse files Browse the repository at this point in the history
[TEST] 일기 수정 테스트
  • Loading branch information
thguss authored Jun 9, 2024
2 parents 6d31723 + 472e75e commit 0bfe2ee
Show file tree
Hide file tree
Showing 4 changed files with 89 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
package com.smeem.diary.service;

import com.smeem.api.diary.service.DiaryCommandService;
import com.smeem.api.diary.service.dto.request.DiaryModifyServiceRequest;
import com.smeem.domain.diary.adapter.DiaryFinder;
import com.smeem.support.fixture.DiaryFixture;
import lombok.val;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;

import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.doReturn;

@ExtendWith(MockitoExtension.class)
public class DiaryCommandServiceTest {

@InjectMocks
private DiaryCommandService diaryService;

@Mock
private DiaryFinder diaryFinder;

@Test
@DisplayName("[성공] 유효한 일기를 수정할 수 있다.")
void modifyValidDiary() {
// given
val contentBeforeModified = "content";
val contentAfterModified = "modifiedContent";
val diary = DiaryFixture.diary().id(1L).content(contentBeforeModified).build();
val request = new DiaryModifyServiceRequest(diary.getId(), contentAfterModified);

doReturn(diary).when(diaryFinder).findById(diary.getId());

// when
diaryService.modifyDiary(request);

// then
assertThat(diary.getContent()).isEqualTo(contentAfterModified);
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.smeem.diary.service;
package com.smeem.diary.service.integration;

import com.smeem.api.diary.service.DiaryCommandService;
import com.smeem.api.diary.service.dto.request.DiaryCreateServiceRequest;
Expand Down Expand Up @@ -33,7 +33,7 @@ public class DiaryCommandServiceIntegrationTest extends ServiceIntegrationTest {

@Nested
@DisplayName("일기 저장 테스트")
class SaveTest {
class SaveDiaryTest {

private Member member;
private final String diaryContent = "test-diary-content";
Expand All @@ -44,6 +44,7 @@ void setUp() {
diaryRepository.deleteAllInBatch();
member = memberRepository.save(MemberFixture.member().build());
}

@Test
@Transactional
@DisplayName("[성공] 오늘 일기를 작성하지 않은 회원은 일기를 작성할 수 있고, 연속 일기 작성 수가 업데이트된다.")
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package com.smeem.support.fixture;

import com.smeem.domain.diary.model.Diary;
import com.smeem.domain.member.model.LangType;
import lombok.NoArgsConstructor;

import static com.smeem.domain.member.model.LangType.en;
import static lombok.AccessLevel.PRIVATE;

@NoArgsConstructor(access = PRIVATE)
public class DiaryFixture {

private Long id;
private String content;
private final LangType targetLang = en;
private final boolean isPublic = false;

public static DiaryFixture diary() {
return new DiaryFixture();
}

public DiaryFixture id(Long id) {
this.id = id;
return this;
}

public DiaryFixture content(String content) {
this.content = content;
return this;
}

public Diary build() {
return new Diary(id, content, targetLang, isPublic);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,13 @@ public Diary(String content, Member member) {
setMember(member);
}

public Diary(Long id, String content, LangType targetLang, boolean isPublic) {
this.id = id;
this.content = content;
this.targetLang = targetLang;
this.isPublic = isPublic;
}

public void updateContent(String content) {
this.content = content;
}
Expand Down

0 comments on commit 0bfe2ee

Please sign in to comment.