11package com .example .solidconnection .university .service ;
22
3+ import com .example .solidconnection .country .fixture .CountryFixture ;
34import com .example .solidconnection .entity .InterestedCountry ;
45import com .example .solidconnection .entity .InterestedRegion ;
6+ import com .example .solidconnection .region .fixture .RegionFixture ;
57import com .example .solidconnection .repositories .InterestedCountyRepository ;
68import com .example .solidconnection .repositories .InterestedRegionRepository ;
79import com .example .solidconnection .siteuser .domain .SiteUser ;
810import com .example .solidconnection .siteuser .repository .SiteUserRepository ;
9- import com .example .solidconnection .support .integration . BaseIntegrationTest ;
11+ import com .example .solidconnection .support .TestContainerSpringBootTest ;
1012import com .example .solidconnection .type .PreparationStatus ;
1113import com .example .solidconnection .type .Role ;
14+ import com .example .solidconnection .university .domain .UniversityInfoForApply ;
1215import com .example .solidconnection .university .dto .UniversityInfoForApplyPreviewResponse ;
1316import com .example .solidconnection .university .dto .UniversityRecommendsResponse ;
17+ import com .example .solidconnection .university .fixture .UniversityInfoForApplyFixture ;
1418import org .junit .jupiter .api .BeforeEach ;
1519import org .junit .jupiter .api .DisplayName ;
1620import org .junit .jupiter .api .Test ;
2125import static com .example .solidconnection .university .service .UniversityRecommendService .RECOMMEND_UNIVERSITY_NUM ;
2226import static org .assertj .core .api .Assertions .assertThat ;
2327
28+ @ TestContainerSpringBootTest
2429@ DisplayName ("대학교 추천 서비스 테스트" )
25- class UniversityRecommendServiceTest extends BaseIntegrationTest {
30+ class UniversityRecommendServiceTest {
2631
2732 @ Autowired
2833 private UniversityRecommendService universityRecommendService ;
@@ -39,16 +44,47 @@ class UniversityRecommendServiceTest extends BaseIntegrationTest {
3944 @ Autowired
4045 private GeneralUniversityRecommendService generalUniversityRecommendService ;
4146
47+ @ Autowired
48+ private RegionFixture regionFixture ;
49+
50+ @ Autowired
51+ private CountryFixture countryFixture ;
52+
53+ @ Autowired
54+ private UniversityInfoForApplyFixture universityInfoForApplyFixture ;
55+
56+ private SiteUser testUser ;
57+ private UniversityInfoForApply 괌대학_A_지원_정보 ;
58+ private UniversityInfoForApply 괌대학_B_지원_정보 ;
59+ private UniversityInfoForApply 네바다주립대학_라스베이거스_지원_정보 ;
60+ private UniversityInfoForApply 메모리얼대학_세인트존스_A_지원_정보 ;
61+ private UniversityInfoForApply 서던덴마크대학교_지원_정보 ;
62+ private UniversityInfoForApply 코펜하겐IT대학_지원_정보 ;
63+ private UniversityInfoForApply 그라츠대학_지원_정보 ;
64+ private UniversityInfoForApply 그라츠공과대학_지원_정보 ;
65+ private UniversityInfoForApply 린츠_카톨릭대학_지원_정보 ;
66+ private UniversityInfoForApply 메이지대학_지원_정보 ;
67+
4268 @ BeforeEach
4369 void setUp () {
70+ testUser = createSiteUser ();
71+ 괌대학_A_지원_정보 = universityInfoForApplyFixture .괌대학_A_지원_정보 ();
72+ 괌대학_B_지원_정보 = universityInfoForApplyFixture .괌대학_B_지원_정보 ();
73+ 네바다주립대학_라스베이거스_지원_정보 = universityInfoForApplyFixture .네바다주립대학_라스베이거스_지원_정보 ();
74+ 메모리얼대학_세인트존스_A_지원_정보 = universityInfoForApplyFixture .메모리얼대학_세인트존스_A_지원_정보 ();
75+ 서던덴마크대학교_지원_정보 = universityInfoForApplyFixture .서던덴마크대학교_지원_정보 ();
76+ 코펜하겐IT대학_지원_정보 = universityInfoForApplyFixture .코펜하겐IT대학_지원_정보 ();
77+ 그라츠대학_지원_정보 = universityInfoForApplyFixture .그라츠대학_지원_정보 ();
78+ 그라츠공과대학_지원_정보 = universityInfoForApplyFixture .그라츠공과대학_지원_정보 ();
79+ 린츠_카톨릭대학_지원_정보 = universityInfoForApplyFixture .린츠_카톨릭대학_지원_정보 ();
80+ 메이지대학_지원_정보 = universityInfoForApplyFixture .메이지대학_지원_정보 ();
4481 generalUniversityRecommendService .init ();
4582 }
4683
4784 @ Test
4885 void 관심_지역_설정한_사용자의_맞춤_추천_대학을_조회한다 () {
4986 // given
50- SiteUser testUser = createSiteUser ();
51- interestedRegionRepository .save (new InterestedRegion (testUser , 영미권 ));
87+ interestedRegionRepository .save (new InterestedRegion (testUser , regionFixture .영미권 ()));
5288
5389 // when
5490 UniversityRecommendsResponse response = universityRecommendService .getPersonalRecommends (testUser );
@@ -67,8 +103,7 @@ void setUp() {
67103 @ Test
68104 void 관심_국가_설정한_사용자의_맞춤_추천_대학을_조회한다 () {
69105 // given
70- SiteUser testUser = createSiteUser ();
71- interestedCountyRepository .save (new InterestedCountry (testUser , 덴마크 ));
106+ interestedCountyRepository .save (new InterestedCountry (testUser , countryFixture .덴마크 ()));
72107
73108 // when
74109 UniversityRecommendsResponse response = universityRecommendService .getPersonalRecommends (testUser );
@@ -85,9 +120,8 @@ void setUp() {
85120 @ Test
86121 void 관심_지역과_국가_모두_설정한_사용자의_맞춤_추천_대학을_조회한다 () {
87122 // given
88- SiteUser testUser = createSiteUser ();
89- interestedRegionRepository .save (new InterestedRegion (testUser , 영미권 ));
90- interestedCountyRepository .save (new InterestedCountry (testUser , 덴마크 ));
123+ interestedRegionRepository .save (new InterestedRegion (testUser , regionFixture .영미권 ()));
124+ interestedCountyRepository .save (new InterestedCountry (testUser , countryFixture .덴마크 ()));
91125
92126 // when
93127 UniversityRecommendsResponse response = universityRecommendService .getPersonalRecommends (testUser );
@@ -107,9 +141,6 @@ void setUp() {
107141
108142 @ Test
109143 void 관심사_미설정_사용자는_일반_추천_대학을_조회한다 () {
110- // given
111- SiteUser testUser = createSiteUser ();
112-
113144 // when
114145 UniversityRecommendsResponse response = universityRecommendService .getPersonalRecommends (testUser );
115146
@@ -138,6 +169,7 @@ void setUp() {
138169 );
139170 }
140171
172+ // todo : 추후 Fixture로 대체 필요
141173 private SiteUser createSiteUser () {
142174 SiteUser siteUser = new SiteUser (
143175 "test@example.com" ,
0 commit comments