diff --git a/src/main/java/com/yello/server/domain/authorization/controller/AuthController.java b/src/main/java/com/yello/server/domain/authorization/controller/AuthController.java index be0382bb..17ae8912 100644 --- a/src/main/java/com/yello/server/domain/authorization/controller/AuthController.java +++ b/src/main/java/com/yello/server/domain/authorization/controller/AuthController.java @@ -1,5 +1,6 @@ package com.yello.server.domain.authorization.controller; +import static com.yello.server.global.common.SuccessCode.CLASS_NAME_SEARCH_BY_SCHOOL_NAME_SCHOOL_SUCCESS; import static com.yello.server.global.common.SuccessCode.DEPARTMENT_NAME_SEARCH_BY_SCHOOL_NAME_SCHOOL_SUCCESS; import static com.yello.server.global.common.SuccessCode.LOGIN_SUCCESS; import static com.yello.server.global.common.SuccessCode.ONBOARDING_FRIENDS_SUCCESS; @@ -13,6 +14,7 @@ import com.yello.server.domain.authorization.dto.request.OAuthRequest; import com.yello.server.domain.authorization.dto.request.OnBoardingFriendRequest; import com.yello.server.domain.authorization.dto.request.SignUpRequest; +import com.yello.server.domain.authorization.dto.response.ClassNameSearchResponse; import com.yello.server.domain.authorization.dto.response.DepartmentSearchResponse; import com.yello.server.domain.authorization.dto.response.GroupNameSearchResponse; import com.yello.server.domain.authorization.dto.response.OAuthResponse; @@ -54,7 +56,8 @@ public BaseResponse getYelloIdValidation(@RequestParam("yelloId") Strin @PostMapping("/signup") @SlackSignUpNotification - public BaseResponse postSignUp(@Valid @RequestBody SignUpRequest signUpRequest) { + public BaseResponse postSignUp( + @Valid @RequestBody SignUpRequest signUpRequest) { val data = authService.signUp(signUpRequest); return BaseResponse.success(SIGN_UP_SUCCESS, data); } @@ -68,7 +71,7 @@ public BaseResponse postFriendList( return BaseResponse.success(ONBOARDING_FRIENDS_SUCCESS, data); } - @GetMapping("/school") + @GetMapping("/group/univ/name") public BaseResponse getSchoolList( @NotNull @RequestParam("keyword") String keyword, @NotNull @RequestParam("page") Integer page @@ -77,9 +80,9 @@ public BaseResponse getSchoolList( return BaseResponse.success(SCHOOL_NAME_SEARCH_SCHOOL_SUCCESS, data); } - @GetMapping("/school/department") + @GetMapping("/group/univ/department") public BaseResponse getDepartmentList( - @NotNull @RequestParam("school") String schoolName, + @NotNull @RequestParam("name") String schoolName, @NotNull @RequestParam("keyword") String keyword, @NotNull @RequestParam("page") Integer page ) { @@ -92,4 +95,23 @@ public BaseResponse postReIssueToken(@ServiceToken ServiceTokenV val data = authService.reIssueToken(tokens); return BaseResponse.success(RE_ISSUE_TOKEN_AUTH_SUCCESS, data); } + + @GetMapping("/group/high/name") + public BaseResponse getHighSchoolList( + @NotNull @RequestParam("keyword") String keyword, + @NotNull @RequestParam("page") Integer page + ) { + val data = authService.getHighSchoolList(keyword, createPageable(page)); + return BaseResponse.success(SCHOOL_NAME_SEARCH_SCHOOL_SUCCESS, data); + } + + @GetMapping("/group/high/class") + public BaseResponse getHighSchoolClassName( + @NotNull @RequestParam("name") String schoolName, + @NotNull @RequestParam("keyword") String keyword + ) { + System.out.println("sfsdfsdfs"); + val data = authService.getHighSchoolClassName(schoolName, keyword); + return BaseResponse.success(CLASS_NAME_SEARCH_BY_SCHOOL_NAME_SCHOOL_SUCCESS, data); + } } diff --git a/src/main/java/com/yello/server/domain/authorization/dto/response/ClassNameSearchResponse.java b/src/main/java/com/yello/server/domain/authorization/dto/response/ClassNameSearchResponse.java new file mode 100644 index 00000000..26e7588a --- /dev/null +++ b/src/main/java/com/yello/server/domain/authorization/dto/response/ClassNameSearchResponse.java @@ -0,0 +1,16 @@ +package com.yello.server.domain.authorization.dto.response; + +import com.yello.server.domain.group.entity.School; +import lombok.Builder; + +@Builder +public record ClassNameSearchResponse( + Long groupId +) { + + public static ClassNameSearchResponse of(School school) { + return ClassNameSearchResponse.builder() + .groupId(school.getId()) + .build(); + } +} diff --git a/src/main/java/com/yello/server/domain/authorization/service/AuthService.java b/src/main/java/com/yello/server/domain/authorization/service/AuthService.java index bcb7bd02..15be436a 100644 --- a/src/main/java/com/yello/server/domain/authorization/service/AuthService.java +++ b/src/main/java/com/yello/server/domain/authorization/service/AuthService.java @@ -9,6 +9,7 @@ import com.yello.server.domain.authorization.dto.request.OAuthRequest; import com.yello.server.domain.authorization.dto.request.OnBoardingFriendRequest; import com.yello.server.domain.authorization.dto.request.SignUpRequest; +import com.yello.server.domain.authorization.dto.response.ClassNameSearchResponse; import com.yello.server.domain.authorization.dto.response.DepartmentSearchResponse; import com.yello.server.domain.authorization.dto.response.GroupNameSearchResponse; import com.yello.server.domain.authorization.dto.response.OAuthResponse; @@ -103,7 +104,7 @@ public SignUpResponse signUp(SignUpRequest signUpRequest) { @Transactional public void recommendUser(String recommendYelloId, String userYelloId) { - if (recommendYelloId != null && !recommendYelloId.isEmpty()) { + if (recommendYelloId!=null && !recommendYelloId.isEmpty()) { User recommendedUser = userRepository.getByYelloId(recommendYelloId); User user = userRepository.getByYelloId(userYelloId); @@ -129,7 +130,7 @@ public void makeFriend(User user, List friendIds) { Friend savedFriend = friendRepository.save(Friend.createFriend(user, friend.get())); friendRepository.save(Friend.createFriend(friend.get(), user)); - + notificationService.sendFriendNotification(savedFriend); } }); @@ -179,4 +180,17 @@ public ServiceTokenVO reIssueToken(@NotNull ServiceTokenVO tokens) { throw new NotExpiredTokenForbiddenException(TOKEN_NOT_EXPIRED_AUTH_EXCEPTION); } + + public GroupNameSearchResponse getHighSchoolList(String keyword, Pageable pageable) { + int totalCount = schoolRepository.countDistinctHighSchoolNameContaining(keyword); + final List nameList = schoolRepository.findDistinctHighSchoolNameContaining(keyword, + pageable); + return GroupNameSearchResponse.of(totalCount, nameList); + } + + public ClassNameSearchResponse getHighSchoolClassName(String schoolName, String keyword) { + School school = + schoolRepository.findHighSchoolIdBySchoolNameAndClassName(schoolName, keyword); + return ClassNameSearchResponse.of(school); + } } diff --git a/src/main/java/com/yello/server/domain/friend/dto/response/FriendResponse.java b/src/main/java/com/yello/server/domain/friend/dto/response/FriendResponse.java index f769c847..fccb2c41 100644 --- a/src/main/java/com/yello/server/domain/friend/dto/response/FriendResponse.java +++ b/src/main/java/com/yello/server/domain/friend/dto/response/FriendResponse.java @@ -1,5 +1,6 @@ package com.yello.server.domain.friend.dto.response; +import com.yello.server.domain.group.entity.SchoolType; import com.yello.server.domain.user.entity.User; import lombok.Builder; @@ -15,7 +16,8 @@ public static FriendResponse of(User user) { return FriendResponse.builder() .id(user.getId()) .name(user.getName()) - .group(user.groupString()) + .group(user.getGroup().getSchoolType()==SchoolType.UNIVERSITY ? user.groupString() + : user.highSchoolString()) .profileImage(user.getProfileImage()) .build(); } diff --git a/src/main/java/com/yello/server/domain/friend/dto/response/SearchFriendVO.java b/src/main/java/com/yello/server/domain/friend/dto/response/SearchFriendVO.java index 266882b5..f0133cbb 100644 --- a/src/main/java/com/yello/server/domain/friend/dto/response/SearchFriendVO.java +++ b/src/main/java/com/yello/server/domain/friend/dto/response/SearchFriendVO.java @@ -1,5 +1,6 @@ package com.yello.server.domain.friend.dto.response; +import com.yello.server.domain.group.entity.SchoolType; import com.yello.server.domain.user.entity.User; import lombok.Builder; @@ -17,7 +18,8 @@ public static SearchFriendVO of(User user, Boolean isFriend) { return SearchFriendVO.builder() .id(user.getId()) .name(user.getName()) - .group(user.groupString()) + .group(user.getGroup().getSchoolType()==SchoolType.UNIVERSITY ? user.groupString() + : user.highSchoolString()) .profileImage(user.getProfileImage()) .yelloId(user.getYelloId()) .isFriend(isFriend) diff --git a/src/main/java/com/yello/server/domain/group/entity/School.java b/src/main/java/com/yello/server/domain/group/entity/School.java index 04e1973a..6cee4f7d 100644 --- a/src/main/java/com/yello/server/domain/group/entity/School.java +++ b/src/main/java/com/yello/server/domain/group/entity/School.java @@ -1,6 +1,7 @@ package com.yello.server.domain.group.entity; import javax.persistence.Column; +import javax.persistence.Convert; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; @@ -13,6 +14,7 @@ import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; +import org.hibernate.annotations.ColumnDefault; @Getter @Entity @@ -42,6 +44,11 @@ public class School { @Column(nullable = false) private String departmentName; + @Column(nullable = false) + @Convert(converter = SchoolTypeConverter.class) + @ColumnDefault("UNIVERSITY") + private SchoolType schoolType; + public static School of(String schoolName, String departmentName) { return School.builder() .schoolName(schoolName) diff --git a/src/main/java/com/yello/server/domain/group/entity/SchoolType.java b/src/main/java/com/yello/server/domain/group/entity/SchoolType.java new file mode 100644 index 00000000..8f944f25 --- /dev/null +++ b/src/main/java/com/yello/server/domain/group/entity/SchoolType.java @@ -0,0 +1,28 @@ +package com.yello.server.domain.group.entity; + +import java.text.MessageFormat; +import java.util.Arrays; +import lombok.Getter; +import lombok.RequiredArgsConstructor; + +@Getter +@RequiredArgsConstructor +public enum SchoolType { + UNIVERSITY("UNIVERSITY"), + HIGHSCHOOL("HIGH_SCHOOL"); + + private final String intial; + + public static SchoolType fromCode(String dbData) { + return Arrays.stream(SchoolType.values()) + .filter(v -> v.getIntial().equals(dbData)) + .findAny() + .orElseThrow(() -> new IllegalArgumentException( + MessageFormat.format("존재하지 않는 학교타입 입니다. {0}", dbData))); + } + + public String intial() { + return intial; + } + +} diff --git a/src/main/java/com/yello/server/domain/group/entity/SchoolTypeConverter.java b/src/main/java/com/yello/server/domain/group/entity/SchoolTypeConverter.java new file mode 100644 index 00000000..92f28ad9 --- /dev/null +++ b/src/main/java/com/yello/server/domain/group/entity/SchoolTypeConverter.java @@ -0,0 +1,31 @@ +package com.yello.server.domain.group.entity; + +import javax.persistence.AttributeConverter; +import javax.persistence.Converter; +import lombok.extern.log4j.Log4j2; + +@Converter +@Log4j2 +public class SchoolTypeConverter implements AttributeConverter { + + @Override + public String convertToDatabaseColumn(SchoolType schoolType) { + if (schoolType==null) { + return null; + } + return schoolType.getIntial(); + } + + @Override + public SchoolType convertToEntityAttribute(String dbData) { + if (dbData==null) { + return null; + } + try { + return SchoolType.fromCode(dbData); + } catch (IllegalArgumentException exception) { + log.error("failure to convert cause unexpected code" + dbData + exception); + throw exception; + } + } +} diff --git a/src/main/java/com/yello/server/domain/group/repository/SchoolJpaRepository.java b/src/main/java/com/yello/server/domain/group/repository/SchoolJpaRepository.java index c1adc7a1..f6761ae9 100644 --- a/src/main/java/com/yello/server/domain/group/repository/SchoolJpaRepository.java +++ b/src/main/java/com/yello/server/domain/group/repository/SchoolJpaRepository.java @@ -2,6 +2,7 @@ import com.yello.server.domain.group.entity.School; import java.util.List; +import java.util.Optional; import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; @@ -11,12 +12,14 @@ public interface SchoolJpaRepository extends JpaRepository { @Query("select count (DISTINCT s.schoolName)from School s " + "where s.schoolName " + - "like CONCAT('%',:schoolName,'%')") + "like CONCAT('%',:schoolName,'%') " + + "and s.schoolType = 'UNIVERSITY'") Integer countDistinctSchoolNameContaining(@Param("schoolName") String schoolName); @Query("select distinct(s.schoolName) from School s " + "where s.schoolName " + - "like CONCAT('%',:schoolName,'%')") + "like CONCAT('%',:schoolName,'%' )" + + "and s.schoolType = 'UNIVERSITY'") List findDistinctSchoolNameContaining(@Param("schoolName") String schoolName, Pageable pageable); @@ -32,5 +35,25 @@ Integer countAllBySchoolNameContaining(@Param("schoolName") String schoolName, List findAllBySchoolNameContaining(@Param("schoolName") String schoolName, @Param("departmentName") String departmentName, Pageable pageable); + @Query("select count (DISTINCT s.schoolName)from School s " + + "where s.schoolName " + + "like CONCAT('%',:schoolName,'%') " + + "and s.schoolType = 'HIGH_SCHOOL'") + Integer countDistinctHighSchoolNameContaining(@Param("schoolName") String schoolName); + + @Query("select distinct(s.schoolName) from School s " + + "where s.schoolName " + + "like CONCAT('%',:schoolName,'%' )" + + "and s.schoolType = 'HIGH_SCHOOL'") + List findDistinctHighSchoolNameContaining(@Param("schoolName") String schoolName, + Pageable pageable); + + @Query("select s from School s " + + "where s.schoolName = :schoolName " + + "and s.departmentName = :className " + + "and s.schoolType = 'HIGH_SCHOOL'") + Optional findHighSchoolIdBySchoolNameAndClassName( + @Param("schoolName") String schoolName, @Param("className") String className); + } diff --git a/src/main/java/com/yello/server/domain/group/repository/SchoolRepository.java b/src/main/java/com/yello/server/domain/group/repository/SchoolRepository.java index 20ca4034..c5d0c310 100644 --- a/src/main/java/com/yello/server/domain/group/repository/SchoolRepository.java +++ b/src/main/java/com/yello/server/domain/group/repository/SchoolRepository.java @@ -21,4 +21,10 @@ public interface SchoolRepository { List findAllBySchoolNameContaining(String schoolName, String departmentName, Pageable pageable); + + Integer countDistinctHighSchoolNameContaining(String schoolName); + + List findDistinctHighSchoolNameContaining(String schoolName, Pageable pageable); + + School findHighSchoolIdBySchoolNameAndClassName(String schoolName, String className); } diff --git a/src/main/java/com/yello/server/domain/group/repository/SchoolRepositoryImpl.java b/src/main/java/com/yello/server/domain/group/repository/SchoolRepositoryImpl.java index 1e35bd8e..447a8fc9 100644 --- a/src/main/java/com/yello/server/domain/group/repository/SchoolRepositoryImpl.java +++ b/src/main/java/com/yello/server/domain/group/repository/SchoolRepositoryImpl.java @@ -53,6 +53,24 @@ public Integer countAllBySchoolNameContaining(String schoolName, String departme @Override public List findAllBySchoolNameContaining(String schoolName, String departmentName, Pageable pageable) { - return schoolJpaRepository.findAllBySchoolNameContaining(schoolName, departmentName, pageable); + return schoolJpaRepository.findAllBySchoolNameContaining(schoolName, departmentName, + pageable); + } + + @Override + public Integer countDistinctHighSchoolNameContaining(String schoolName) { + return schoolJpaRepository.countDistinctHighSchoolNameContaining(schoolName); + } + + @Override + public List findDistinctHighSchoolNameContaining(String schoolName, Pageable pageable) { + return schoolJpaRepository.findDistinctHighSchoolNameContaining(schoolName, pageable); + } + + @Override + public School findHighSchoolIdBySchoolNameAndClassName(String schoolName, + String className) { + return schoolJpaRepository.findHighSchoolIdBySchoolNameAndClassName(schoolName, className) + .orElseThrow(() -> new GroupNotFoundException(GROUPID_NOT_FOUND_GROUP_EXCEPTION)); } } diff --git a/src/main/java/com/yello/server/domain/user/dto/response/UserDetailResponse.java b/src/main/java/com/yello/server/domain/user/dto/response/UserDetailResponse.java index ddb3d6e4..1bd4e9b9 100644 --- a/src/main/java/com/yello/server/domain/user/dto/response/UserDetailResponse.java +++ b/src/main/java/com/yello/server/domain/user/dto/response/UserDetailResponse.java @@ -1,5 +1,6 @@ package com.yello.server.domain.user.dto.response; +import com.yello.server.domain.group.entity.SchoolType; import com.yello.server.domain.user.entity.User; import lombok.Builder; @@ -19,7 +20,8 @@ public static UserDetailResponse of(User user, Integer yelloCount, Integer frien return UserDetailResponse.builder() .userId(user.getId()) .name(user.getName()) - .group(user.groupString()) + .group(user.getGroup().getSchoolType()==SchoolType.UNIVERSITY ? user.groupString() + : user.highSchoolString()) .profileImageUrl(user.getProfileImage()) .yelloId(user.getYelloId()) .yelloCount(yelloCount) diff --git a/src/main/java/com/yello/server/domain/user/dto/response/UserResponse.java b/src/main/java/com/yello/server/domain/user/dto/response/UserResponse.java index 6a8794e7..576c30ee 100644 --- a/src/main/java/com/yello/server/domain/user/dto/response/UserResponse.java +++ b/src/main/java/com/yello/server/domain/user/dto/response/UserResponse.java @@ -1,5 +1,6 @@ package com.yello.server.domain.user.dto.response; +import com.yello.server.domain.group.entity.SchoolType; import com.yello.server.domain.user.entity.User; import lombok.Builder; @@ -18,7 +19,8 @@ public static UserResponse of(User user, Integer yelloCount, Integer friendCount return UserResponse.builder() .userId(user.getId()) .name(user.getName()) - .group(user.groupString()) + .group(user.getGroup().getSchoolType()==SchoolType.UNIVERSITY ? user.groupString() + : user.highSchoolString()) .profileImageUrl(user.getProfileImage()) .yelloId(user.getYelloId()) .yelloCount(yelloCount) diff --git a/src/main/java/com/yello/server/domain/user/entity/User.java b/src/main/java/com/yello/server/domain/user/entity/User.java index d433e453..de3d36b3 100644 --- a/src/main/java/com/yello/server/domain/user/entity/User.java +++ b/src/main/java/com/yello/server/domain/user/entity/User.java @@ -159,6 +159,11 @@ public String groupString() { return this.group.toString() + " " + this.getGroupAdmissionYear() + "학번"; } + public String highSchoolString() { + return this.group.getSchoolName() + " " + this.getGroupAdmissionYear() + "학년 " + + this.group.getDepartmentName() + "반"; + } + public void increaseRecommendCount() { this.recommendCount += 1; } diff --git a/src/main/java/com/yello/server/global/common/SuccessCode.java b/src/main/java/com/yello/server/global/common/SuccessCode.java index 99c72aed..b7f250f6 100644 --- a/src/main/java/com/yello/server/global/common/SuccessCode.java +++ b/src/main/java/com/yello/server/global/common/SuccessCode.java @@ -45,6 +45,7 @@ public enum SuccessCode { READ_QUESTION_ADMIN_SUCCESS(OK, "어드민 페이지 질문 조회에 성공하였습니다."), READ_QUESTION_DETAIL_ADMIN_SUCCESS(OK, "어드민 페이지 질문 상세 조회에 성공하였습니다."), DELETE_QUESTION_ADMIN_SUCCESS(OK, "어드민 권환으로 질문지 삭제에 성공하였습니다."), + CLASS_NAME_SEARCH_BY_SCHOOL_NAME_SCHOOL_SUCCESS(OK, "학반 검색에 성공했습니다."), /** * 201 CREATED diff --git a/src/test/java/com/yello/server/domain/authorization/medium/AuthControllerTest.java b/src/test/java/com/yello/server/domain/authorization/medium/AuthControllerTest.java index 15536c6c..af442649 100644 --- a/src/test/java/com/yello/server/domain/authorization/medium/AuthControllerTest.java +++ b/src/test/java/com/yello/server/domain/authorization/medium/AuthControllerTest.java @@ -65,8 +65,9 @@ class AuthControllerTest { final String[] excludeRequestHeaders = {"X-CSRF-TOKEN", "Host"}; - final String[] excludeResponseHeaders = {"X-Content-Type-Options", "X-XSS-Protection", "Cache-Control", "Pragma", - "Expires", "X-Frame-Options", "Content-Length"}; + final String[] excludeResponseHeaders = + {"X-Content-Type-Options", "X-XSS-Protection", "Cache-Control", "Pragma", + "Expires", "X-Frame-Options", "Content-Length"}; @Autowired private MockMvc mockMvc; @@ -114,8 +115,10 @@ void init() { .content(objectMapper.writeValueAsString(oAuthRequest))) .andDo(print()) .andDo(document("api/v1/auth/oauthLogin", - Preprocessors.preprocessRequest(prettyPrint(), removeHeaders(excludeRequestHeaders)), - Preprocessors.preprocessResponse(prettyPrint(), removeHeaders(excludeResponseHeaders))) + Preprocessors.preprocessRequest(prettyPrint(), + removeHeaders(excludeRequestHeaders)), + Preprocessors.preprocessResponse(prettyPrint(), + removeHeaders(excludeResponseHeaders))) ) .andExpect(MockMvcResultMatchers.status().isOk()); } @@ -132,8 +135,10 @@ void init() { .param("yelloId", "yelloId here")) .andDo(print()) .andDo(document("api/v1/auth/getYelloIdValidation", - Preprocessors.preprocessRequest(prettyPrint(), removeHeaders(excludeRequestHeaders)), - Preprocessors.preprocessResponse(prettyPrint(), removeHeaders(excludeResponseHeaders)), + Preprocessors.preprocessRequest(prettyPrint(), + removeHeaders(excludeRequestHeaders)), + Preprocessors.preprocessResponse(prettyPrint(), + removeHeaders(excludeResponseHeaders)), requestParameters(parameterWithName("yelloId").description("중복 체크할 yelloId"))) ) .andExpect(MockMvcResultMatchers.status().isOk()); @@ -175,8 +180,10 @@ void init() { .content(objectMapper.writeValueAsString(signUpRequest))) .andDo(print()) .andDo(document("api/v1/auth/postSignUp", - Preprocessors.preprocessRequest(prettyPrint(), removeHeaders(excludeRequestHeaders)), - Preprocessors.preprocessResponse(prettyPrint(), removeHeaders(excludeResponseHeaders))) + Preprocessors.preprocessRequest(prettyPrint(), + removeHeaders(excludeRequestHeaders)), + Preprocessors.preprocessResponse(prettyPrint(), + removeHeaders(excludeResponseHeaders))) ) .andExpect(MockMvcResultMatchers.status().isOk()); } @@ -188,9 +195,11 @@ void init() { .friendKakaoId(Arrays.asList("friendKakaoId")) .build(); - final OnBoardingFriendResponse onBoardingFriendResponse = OnBoardingFriendResponse.of(0, Arrays.asList(user)); + final OnBoardingFriendResponse onBoardingFriendResponse = + OnBoardingFriendResponse.of(0, Arrays.asList(user)); - given(authService.findOnBoardingFriends(any(OnBoardingFriendRequest.class), any(Pageable.class))) + given(authService.findOnBoardingFriends(any(OnBoardingFriendRequest.class), + any(Pageable.class))) .willReturn(onBoardingFriendResponse); // when @@ -202,8 +211,10 @@ void init() { .param("page", "0")) .andDo(print()) .andDo(document("api/v1/auth/findOnBoardingFriends", - Preprocessors.preprocessRequest(prettyPrint(), removeHeaders(excludeRequestHeaders)), - Preprocessors.preprocessResponse(prettyPrint(), removeHeaders(excludeResponseHeaders)), + Preprocessors.preprocessRequest(prettyPrint(), + removeHeaders(excludeRequestHeaders)), + Preprocessors.preprocessResponse(prettyPrint(), + removeHeaders(excludeResponseHeaders)), requestParameters(parameterWithName("page").description("페이지네이션 페이지 번호"))) ) .andExpect(MockMvcResultMatchers.status().isOk()); @@ -222,14 +233,16 @@ void init() { // when // then - mockMvc.perform(RestDocumentationRequestBuilders.get("/api/v1/auth/school") + mockMvc.perform(RestDocumentationRequestBuilders.get("/api/v1/auth/group/univ/name") .param("page", "0") .param("keyword", "keyword here") ) .andDo(print()) .andDo(document("api/v1/auth/findSchoolsByKeyword", - Preprocessors.preprocessRequest(prettyPrint(), removeHeaders(excludeRequestHeaders)), - Preprocessors.preprocessResponse(prettyPrint(), removeHeaders(excludeResponseHeaders)), + Preprocessors.preprocessRequest(prettyPrint(), + removeHeaders(excludeRequestHeaders)), + Preprocessors.preprocessResponse(prettyPrint(), + removeHeaders(excludeResponseHeaders)), requestParameters( parameterWithName("page").description("페이지네이션 페이지 번호"), parameterWithName("keyword").description("검색할 쿼리"))) @@ -250,18 +263,20 @@ void init() { // when // then - mockMvc.perform(RestDocumentationRequestBuilders.get("/api/v1/auth/school/department") + mockMvc.perform(RestDocumentationRequestBuilders.get("/api/v1/auth/group/univ/department") .param("page", "0") - .param("school", "school name here") + .param("name", "school name here") .param("keyword", "keyword here") ) .andDo(print()) .andDo(document("api/v1/auth/findDepartmentsByKeyword", - Preprocessors.preprocessRequest(prettyPrint(), removeHeaders(excludeRequestHeaders)), - Preprocessors.preprocessResponse(prettyPrint(), removeHeaders(excludeResponseHeaders)), + Preprocessors.preprocessRequest(prettyPrint(), + removeHeaders(excludeRequestHeaders)), + Preprocessors.preprocessResponse(prettyPrint(), + removeHeaders(excludeResponseHeaders)), requestParameters( parameterWithName("page").description("페이지네이션 페이지 번호"), - parameterWithName("school").description("학교 이름"), + parameterWithName("name").description("학교 이름"), parameterWithName("keyword").description("검색할 쿼리"))) ) .andExpect(MockMvcResultMatchers.status().isOk()); @@ -287,8 +302,10 @@ void init() { ) .andDo(print()) .andDo(document("api/v1/auth/reIssueToken", - Preprocessors.preprocessRequest(prettyPrint(), removeHeaders(excludeRequestHeaders)), - Preprocessors.preprocessResponse(prettyPrint(), removeHeaders(excludeResponseHeaders))) + Preprocessors.preprocessRequest(prettyPrint(), + removeHeaders(excludeRequestHeaders)), + Preprocessors.preprocessResponse(prettyPrint(), + removeHeaders(excludeResponseHeaders))) ) .andExpect(MockMvcResultMatchers.status().isOk()); } diff --git a/src/test/java/com/yello/server/domain/group/FakeSchoolRepository.java b/src/test/java/com/yello/server/domain/group/FakeSchoolRepository.java index d1c3cbbc..a085194d 100644 --- a/src/test/java/com/yello/server/domain/group/FakeSchoolRepository.java +++ b/src/test/java/com/yello/server/domain/group/FakeSchoolRepository.java @@ -66,4 +66,20 @@ public List findAllBySchoolNameContaining(String schoolName, String depa Pageable pageable) { return null; } + + @Override + public Integer countDistinctHighSchoolNameContaining(String schoolName) { + return null; + } + + @Override + public List findDistinctHighSchoolNameContaining(String schoolName, Pageable pageable) { + return null; + } + + @Override + public School findHighSchoolIdBySchoolNameAndClassName(String schoolName, + String className) { + return null; + } }