Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public class HostUniversity extends BaseEntity {
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@Column(nullable = false, length = 100)
@Column(nullable = false, unique = true, length = 100)
private String koreanName;

@Column(nullable = false, length = 100)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
ALTER TABLE host_university
ADD CONSTRAINT uk_host_university_korean_name UNIQUE (korean_name);
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ public final class UniversityFixture {
.englishName("University of Guam")
.country(countryFixture.미국())
.region(regionFixture.영미권())
.create();
.findOrCreate();
}

public HostUniversity 네바다주립_대학_라스베이거스() {
Expand All @@ -29,7 +29,7 @@ public final class UniversityFixture {
.englishName("University of Nevada, Las Vegas")
.country(countryFixture.미국())
.region(regionFixture.영미권())
.create();
.findOrCreate();
}

public HostUniversity 아칸소_주립_대학() {
Expand All @@ -38,7 +38,7 @@ public final class UniversityFixture {
.englishName("Arkansas State University")
.country(countryFixture.미국())
.region(regionFixture.영미권())
.create();
.findOrCreate();
}

public HostUniversity 메모리얼_대학_세인트존스() {
Expand All @@ -47,7 +47,7 @@ public final class UniversityFixture {
.englishName("Memorial University of Newfoundland St. John's")
.country(countryFixture.캐나다())
.region(regionFixture.영미권())
.create();
.findOrCreate();
}

public HostUniversity 서던덴마크_대학() {
Expand All @@ -56,7 +56,7 @@ public final class UniversityFixture {
.englishName("University of Southern Denmark")
.country(countryFixture.덴마크())
.region(regionFixture.유럽())
.create();
.findOrCreate();
}

public HostUniversity 코펜하겐IT_대학() {
Expand All @@ -65,7 +65,7 @@ public final class UniversityFixture {
.englishName("IT University of Copenhagen")
.country(countryFixture.덴마크())
.region(regionFixture.유럽())
.create();
.findOrCreate();
}

public HostUniversity 그라츠_대학() {
Expand All @@ -74,7 +74,7 @@ public final class UniversityFixture {
.englishName("University of Graz")
.country(countryFixture.오스트리아())
.region(regionFixture.유럽())
.create();
.findOrCreate();
}

public HostUniversity 그라츠공과_대학() {
Expand All @@ -83,7 +83,7 @@ public final class UniversityFixture {
.englishName("Graz University of Technology")
.country(countryFixture.오스트리아())
.region(regionFixture.유럽())
.create();
.findOrCreate();
}

public HostUniversity 린츠_카톨릭_대학() {
Expand All @@ -92,7 +92,7 @@ public final class UniversityFixture {
.englishName("Catholic Private University Linz")
.country(countryFixture.오스트리아())
.region(regionFixture.유럽())
.create();
.findOrCreate();
}

public HostUniversity 메이지_대학() {
Expand All @@ -101,6 +101,6 @@ public final class UniversityFixture {
.englishName("Meiji University")
.country(countryFixture.일본())
.region(regionFixture.아시아())
.create();
.findOrCreate();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,23 +3,23 @@
import com.example.solidconnection.location.country.domain.Country;
import com.example.solidconnection.location.region.domain.Region;
import com.example.solidconnection.university.domain.HostUniversity;
import com.example.solidconnection.university.repository.HostUniversityRepository;
import com.example.solidconnection.university.repository.HostUniversityRepositoryForTest;
import lombok.RequiredArgsConstructor;
import org.springframework.boot.test.context.TestComponent;

@TestComponent
@RequiredArgsConstructor
public class UniversityFixtureBuilder {

private final HostUniversityRepository hostUniversityRepository;
private final HostUniversityRepositoryForTest hostUniversityRepositoryForTest;

private String koreanName;
private String englishName;
private Country country;
private Region region;

public UniversityFixtureBuilder university() {
return new UniversityFixtureBuilder(hostUniversityRepository);
return new UniversityFixtureBuilder(hostUniversityRepositoryForTest);
}

public UniversityFixtureBuilder koreanName(String koreanName) {
Expand Down Expand Up @@ -53,6 +53,11 @@ public HostUniversity create() {
"https://background-image-url",
null, country, region
);
return hostUniversityRepository.save(university);
return hostUniversityRepositoryForTest.save(university);
}

public HostUniversity findOrCreate() {
return hostUniversityRepositoryForTest.findByKoreanName(koreanName)
.orElseGet(this::create);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package com.example.solidconnection.university.repository;

import com.example.solidconnection.university.domain.HostUniversity;
import java.util.Optional;
import org.springframework.data.jpa.repository.JpaRepository;

public interface HostUniversityRepositoryForTest extends JpaRepository<HostUniversity, Long> {

Optional<HostUniversity> findByKoreanName(String koreanName);
}
Loading