Skip to content

Commit 9e88478

Browse files
committed
fix: test 내에서 Transactional로 롤백하던 것 DataInitializer로 대체
#1397
1 parent acc9e8a commit 9e88478

File tree

4 files changed

+21
-19
lines changed

4 files changed

+21
-19
lines changed

backend/src/main/java/wooteco/prolog/roadmap/application/RecommendedPostService.java

-1
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,5 @@ private RecommendedPost findPostOrThrow(final Long recommendedId) {
5656
public void delete(final Long recommendedId) {
5757
final RecommendedPost recommendedPost = findPostOrThrow(recommendedId);
5858
recommendedPost.remove();
59-
recommendedPostRepository.delete(recommendedPost);
6059
}
6160
}

backend/src/main/java/wooteco/prolog/roadmap/domain/RecommendedPost.java

+7-6
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,13 @@
55
import lombok.Getter;
66
import lombok.NoArgsConstructor;
77

8-
import javax.persistence.*;
8+
import javax.persistence.Column;
9+
import javax.persistence.Entity;
10+
import javax.persistence.GeneratedValue;
11+
import javax.persistence.GenerationType;
12+
import javax.persistence.Id;
13+
import javax.persistence.JoinColumn;
14+
import javax.persistence.ManyToOne;
915
import java.util.Objects;
1016

1117
@Entity
@@ -34,12 +40,7 @@ public void updateUrl(final String url) {
3440
}
3541

3642
public void remove() {
37-
if (this.keyword == null) {
38-
return;
39-
}
40-
4143
keyword.getRecommendedPosts().remove(this);
42-
this.keyword = null;
4344
}
4445

4546
public void addKeyword(final Keyword keyword) {

backend/src/test/java/wooteco/prolog/roadmap/application/RecommendedPostServiceTest.java

+12-3
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
package wooteco.prolog.roadmap.application;
22

3+
import org.junit.jupiter.api.AfterEach;
34
import org.junit.jupiter.api.BeforeEach;
45
import org.junit.jupiter.api.DisplayName;
56
import org.junit.jupiter.api.Test;
67
import org.springframework.beans.factory.annotation.Autowired;
78
import org.springframework.boot.test.context.SpringBootTest;
8-
import org.springframework.transaction.annotation.Transactional;
9+
import wooteco.prolog.common.DataInitializer;
910
import wooteco.prolog.roadmap.application.dto.RecommendedRequest;
1011
import wooteco.prolog.roadmap.application.dto.RecommendedUpdateRequest;
1112
import wooteco.prolog.roadmap.domain.Keyword;
@@ -21,7 +22,6 @@
2122
import static org.assertj.core.api.SoftAssertions.assertSoftly;
2223

2324
@SpringBootTest
24-
@Transactional
2525
class RecommendedPostServiceTest {
2626

2727
@Autowired
@@ -33,6 +33,10 @@ class RecommendedPostServiceTest {
3333
@Autowired
3434
private SessionRepository sessionRepository;
3535

36+
@Autowired
37+
private DataInitializer dataInitializer;
38+
39+
3640
private Keyword keyword;
3741

3842
@BeforeEach
@@ -41,6 +45,11 @@ public void init() {
4145
this.keyword = keywordRepository.save(Keyword.createKeyword("이름", "설명", 1, 1, session.getId(), null));
4246
}
4347

48+
@AfterEach
49+
public void removeAll() {
50+
dataInitializer.execute();
51+
}
52+
4453
@Test
4554
@DisplayName("추천 포스트 생성 테스트")
4655
void create() {
@@ -81,7 +90,7 @@ void update() {
8190
@DisplayName("추천 포스트 삭제 테스트")
8291
void delete() {
8392
//given
84-
final RecommendedRequest request = new RecommendedRequest("https//:example.com");
93+
final RecommendedRequest request = new RecommendedRequest("https://example.com");
8594
Long recommendedPostId = recommendedPostService.create(keyword.getId(), request);
8695

8796
//when

backend/src/test/java/wooteco/prolog/roadmap/domain/RecommendedPostTest.java

+2-9
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package wooteco.prolog.roadmap.domain;
22

3-
import org.junit.jupiter.api.Assertions;
43
import org.junit.jupiter.api.DisplayName;
54
import org.junit.jupiter.api.Test;
65

@@ -13,21 +12,15 @@ class RecommendedPostTest {
1312
@DisplayName("삭제 기능 테스트")
1413
void remove() {
1514
//given
16-
final RecommendedPost recommendedPost = new RecommendedPost(1L, "https://example.com", null);
1715
final Keyword keyword = Keyword.createKeyword("이름", "설명", 1, 1, 1L, null);
16+
final RecommendedPost recommendedPost = new RecommendedPost(1L, "https://example.com", null);
1817
recommendedPost.addKeyword(keyword);
1918

2019
//when
21-
final Keyword before = recommendedPost.getKeyword();
2220
recommendedPost.remove();
23-
final Keyword after = recommendedPost.getKeyword();
2421

2522
//then
26-
Assertions.assertAll(
27-
() -> assertThat(before).isNotNull(),
28-
() -> assertThat(after).isNull()
29-
);
30-
23+
assertThat(keyword.getRecommendedPosts()).isEmpty();
3124
}
3225

3326
@Test

0 commit comments

Comments
 (0)