Skip to content
Merged
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 @@ -25,9 +25,18 @@ public record MyPageResponse(
List<String> interestedCountries,

@JsonInclude(NON_NULL)
String attendedUniversity) {
String attendedUniversity,

public static MyPageResponse of(SiteUser siteUser, int likedUnivApplyInfoCount, List<String> interestedCountries, String attendedUniversity) {
@JsonInclude(NON_NULL)
String homeUniversityName) {

public static MyPageResponse of(
SiteUser siteUser,
int likedUnivApplyInfoCount,
List<String> interestedCountries,
String attendedUniversity,
String homeUniversityName
) {
return new MyPageResponse(
siteUser.getNickname(),
siteUser.getProfileImageUrl(),
Expand All @@ -38,7 +47,8 @@ public static MyPageResponse of(SiteUser siteUser, int likedUnivApplyInfoCount,
0, // TODO: 멘토 기능 생기면 업데이트 필요
likedUnivApplyInfoCount,
interestedCountries,
attendedUniversity
attendedUniversity,
homeUniversityName
);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,9 @@
import com.example.solidconnection.siteuser.dto.PasswordUpdateRequest;
import com.example.solidconnection.siteuser.repository.SiteUserRepository;
import com.example.solidconnection.university.domain.HostUniversity;
import com.example.solidconnection.university.domain.HomeUniversity;
import com.example.solidconnection.university.repository.HostUniversityRepository;
import com.example.solidconnection.university.repository.HomeUniversityRepository;
import com.example.solidconnection.university.repository.LikedUnivApplyInfoRepository;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
Expand All @@ -49,6 +51,7 @@ public class MyPageService {
private final CountryRepository countryRepository;
private final MentorRepository mentorRepository;
private final HostUniversityRepository hostUniversityRepository;
private final HomeUniversityRepository homeUniversityRepository;
private final S3Service s3Service;
private final InterestedCountryService interestedCountryService;
private final InterestedRegionService interestedRegionService;
Expand All @@ -64,6 +67,7 @@ public MyPageResponse getMyPageInfo(long siteUserId) {

List<String> interestedCountries = null;
String universityKoreanName = null;
String homeUniversityName = findHomeUniversityName(siteUser);
if (siteUser.getRole() == Role.MENTEE) {
interestedCountries = countryRepository.findKoreanNamesBySiteUserId(siteUser.getId());
} else if (siteUser.getRole() == Role.MENTOR) {
Expand All @@ -73,7 +77,24 @@ public MyPageResponse getMyPageInfo(long siteUserId) {
.orElseThrow(() -> new CustomException(UNIVERSITY_NOT_FOUND));
universityKoreanName = university.getKoreanName();
}
return MyPageResponse.of(siteUser, likedUnivApplyInfoCount, interestedCountries, universityKoreanName);
return MyPageResponse.of(
siteUser,
likedUnivApplyInfoCount,
interestedCountries,
universityKoreanName,
homeUniversityName
);
}

private String findHomeUniversityName(SiteUser siteUser) {
Long homeUniversityId = siteUser.getHomeUniversityId();
if (homeUniversityId == null) {
return null;
}

HomeUniversity homeUniversity = homeUniversityRepository.findById(homeUniversityId)
.orElseThrow(() -> new CustomException(UNIVERSITY_NOT_FOUND));
return homeUniversity.getName();
}

/*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,10 @@
import com.example.solidconnection.term.domain.Term;
import com.example.solidconnection.term.fixture.TermFixture;
import com.example.solidconnection.university.domain.HostUniversity;
import com.example.solidconnection.university.domain.HomeUniversity;
import com.example.solidconnection.university.domain.LikedUnivApplyInfo;
import com.example.solidconnection.university.domain.UnivApplyInfo;
import com.example.solidconnection.university.fixture.HomeUniversityFixture;
import com.example.solidconnection.university.fixture.UnivApplyInfoFixture;
import com.example.solidconnection.university.repository.LikedUnivApplyInfoRepository;
import java.time.LocalDateTime;
Expand Down Expand Up @@ -92,6 +94,9 @@ class MyPageServiceTest {
@Autowired
private UnivApplyInfoFixture univApplyInfoFixture;

@Autowired
private HomeUniversityFixture homeUniversityFixture;

@Autowired
private RegionFixture regionFixture;

Expand Down Expand Up @@ -143,10 +148,24 @@ void setUp() {
// todo : 좋아요한 게시물 수 반환 기능 추가와 함께 수정요망
() -> assertThat(response.likedUnivApplyInfoCount()).isEqualTo(likedUnivApplyInfoCount),
() -> assertThat(response.interestedCountries().get(0)).isEqualTo(country.getKoreanName()),
() -> assertThat(response.attendedUniversity()).isNull()
() -> assertThat(response.attendedUniversity()).isNull(),
() -> assertThat(response.homeUniversityName()).isNull()
);
}

@Test
void 학교_인증된_멘티의_마이페이지_정보를_조회하면_국내_대학교_이름을_반환한다() {
// given
HomeUniversity homeUniversity = homeUniversityFixture.인하대학교();
SiteUser verifiedUser = siteUserFixture.국내_대학_정보_소지_사용자(homeUniversity.getId());

// when
MyPageResponse response = myPageService.getMyPageInfo(verifiedUser.getId());

// then
assertThat(response.homeUniversityName()).isEqualTo(homeUniversity.getName());
}

@Test
void 멘토의_마이페이지_정보를_조회한다() {
// given
Expand All @@ -167,7 +186,8 @@ void setUp() {
// todo : 좋아요한 게시물 수 반환 기능 추가와 함께 수정요망
() -> assertThat(response.likedUnivApplyInfoCount()).isEqualTo(likedUnivApplyInfoCount),
() -> assertThat(response.attendedUniversity()).isEqualTo(괌대학.getKoreanName()),
() -> assertThat(response.interestedCountries()).isNull()
() -> assertThat(response.interestedCountries()).isNull(),
() -> assertThat(response.homeUniversityName()).isNull()
);
}

Expand Down
Loading