Skip to content

Commit

Permalink
feat : 선생님 추가 시 회원가입 요청 서비스 (#155)
Browse files Browse the repository at this point in the history
* [Feat/#33] 선생님 목록 조회 서비스 테스트 및 구현 (#38)

* feat : 선생님 목록 조회 성공 서비스 테스트 작성

* feat : 선생님 목록 조회 서비스 구현

* spotless 적용

* fix : service와 repository의 domain 반환 형태를 Dto 반환하도록 변경

* fix : repository 반환 형태 복구

* fix : dto mapper 수정

* fix : stream 사용

* [Feat/#39] 선생님 추가 service 테스트 작성 및 구현 (#42)

* feat : 선생님 목록 조회 성공 서비스 테스트 작성

* feat : 선생님 목록 조회 서비스 구현

* spotless 적용

* feat : 선생님 추가 서비스 테스트 작성

* fix : service와 repository의 domain 반환 형태를 Dto 반환하도록 변경

* fix : repository 반환 형태 복구

* feat : 선생님 추가 서비스 구현

* fix : spotless 적용

* fix : Repository JPA method 수정

* fix : dto mapper 수정

* fix : 이름 중복 제거 메서드명 변경

* fix : 서비스 테스트 분리 및 ReqDto 명칭 변경

* fix : stream 사용

* fix : spotless 적용

* fix : 임시 join service 요청 추가

* feat: 반 추가 service & test (#25)

* feat : addClassroom Service & test

* style : spotless 적용

* fix : 코드리뷰 변경사항 수정

* style : spotless 적용

* refactor : 인터페이스 이름 변경

---------

Co-authored-by: seongha <seongha@seongha-2.local>

* feat: 반 추가 Repository 테스트 & 구현 (#27)

* feat : addClassroom Service & test

* style : spotless 적용

* feat : repository 구현 & 테스트 작성

* feat : repository 구현 & 테스트 작성

* fix : 코드리뷰 변경사항 수정

* style : spotless 적용

* refactor : 인터페이스 이름 변경

* Update src/main/java/com/ohdab/classroom/repository/ClassroomRepository.java

Co-authored-by: Jonghan Sim <simhani1@gmail.com>

---------

Co-authored-by: seongha <seongha@seongha-2.local>
Co-authored-by: Jonghan Sim <simhani1@gmail.com>

* feat : 반 추가 Controller 테스트 & 구현 (#41)

* feat : addClassroom Service & test

* style : spotless 적용

* feat : repository 구현 & 테스트 작성

* feat : repository 구현 & 테스트 작성

* feat : 반 추가 controller 작성 & 테스트

* style : spotless 적용

* fix : 코드리뷰 변경사항 수정

* style : spotless 적용

* docs : 반 추가 api 문서 추가

* refactor : 인터페이스 이름 변경

* fix : addClassroom 인터페이스 이름 변경

---------

Co-authored-by: seongha <seongha@seongha-2.local>

* feat : 반 목록 조회 Service & Dto 결합 (inner class) (#47)

* feat : addClassroom Service & test

* style : spotless 적용

* feat : repository 구현 & 테스트 작성

* feat : repository 구현 & 테스트 작성

* feat : 반 추가 controller 작성 & 테스트

* style : spotless 적용

* fix : 코드리뷰 변경사항 수정

* style : spotless 적용

* docs : 반 추가 api 문서 추가

* feat : findClassroomService 구현 및 ClassroomDto 리팩토링

* refactor : 인터페이스 이름 변경

* style : spotyless 적용

* fix : addClassroom 인터페이스 이름 변경

* style : spotless 적용

* fix : Controller dto, request, response 객체 수정

---------

Co-authored-by: seongha <seongha@seongha-2.local>

* feat : 반 목록 조회 repository 구현 & 테스트 (#50)

* feat : addClassroom Service & test

* style : spotless 적용

* feat : repository 구현 & 테스트 작성

* feat : repository 구현 & 테스트 작성

* feat : 반 추가 controller 작성 & 테스트

* style : spotless 적용

* fix : 코드리뷰 변경사항 수정

* style : spotless 적용

* docs : 반 추가 api 문서 추가

* feat : findClassroomService 구현 및 ClassroomDto 리팩토링

* refactor : 인터페이스 이름 변경

* style : spotyless 적용

* fix : addClassroom 인터페이스 이름 변경

* style : spotless 적용

* test : 반 목록 조회 테스트 작성

* fix : Controller dto, request, response 객체 수정

---------

Co-authored-by: seongha <seongha@seongha-2.local>

* [Feat/#43] 선생님 삭제 service 테스트 작성 및 구현 (#53)

* fix : dto inner 클래스로 수정

* feat : 선생님 삭제 서비스 테스트 작성

* feat : 선생님 삭제 서비스 구현

* fix : 예외 추가 및 도메인 규칙 사용하도록 로직 수정

* fix : 선생님 삭제 서비스 테스트 수정 및 예외 삭제

* [Feat/#54] 선생님 목록 조회 repository 테스트 및 구현 (#59)

* feat : 선생님 목록 조회 repository 테스트

* refactor : repository test assertion refactoring

* [Feat/#60] 선생님 추가 repository 테스트 및 구현 (#63)

* feat : 선생님 목록 조회 repository 테스트

* feat : 선생님 추가 repository 테스트 및 구현

* feat : 반 목록 조회 controller 구현 & 테스트 (#51)

* feat : addClassroom Service & test

* style : spotless 적용

* feat : repository 구현 & 테스트 작성

* feat : repository 구현 & 테스트 작성

* feat : 반 추가 controller 작성 & 테스트

* style : spotless 적용

* fix : 코드리뷰 변경사항 수정

* style : spotless 적용

* docs : 반 추가 api 문서 추가

* feat : findClassroomService 구현 및 ClassroomDto 리팩토링

* refactor : 인터페이스 이름 변경

* style : spotyless 적용

* fix : addClassroom 인터페이스 이름 변경

* style : spotless 적용

* test : 반 목록 조회 테스트 작성

* feat : 반 목록 조회 controller 구현 & test 작성

* fix : Controller dto, request, response 객체 수정

* fix : controller dto 변경, getClassroomListByTeacherId 인자를 query String 으로 변경

* style : spotless 적용

* style : optimize import

* style : optimize import

---------

Co-authored-by: seongha <seongha@seongha-2.local>

* [Feat/#74] 선생님 목록 조회 Controller  테스트 및 구현 (#75)

* feat : 선생님 목록 조회 repository 테스트

* feat : 선생님 추가 repository 테스트 및 구현

* merge : feature-member

* feat : 선생님 삭제(탈퇴) repository 테스트 및 구현

* feat : 선생님 목록 조회 controller 테스트 및 구현

* [Feat/#76] 선생님 추가 Controller 테스트 및 구현 (#77)

* feat : 선생님 목록 조회 repository 테스트

* feat : 선생님 추가 repository 테스트 및 구현

* merge : feature-member

* feat : 선생님 삭제(탈퇴) repository 테스트 및 구현

* feat : 선생님 목록 조회 controller 테스트 및 구현

* feat : 선생님 추가 Controller 테스트 및 구현

* fix : spotless 적용

* [Feat/#78] 선생님 삭제 controller 테스트 및 구현 (#79)

* feat : 선생님 목록 조회 repository 테스트

* feat : 선생님 추가 repository 테스트 및 구현

* merge : feature-member

* feat : 선생님 삭제(탈퇴) repository 테스트 및 구현

* feat : 선생님 목록 조회 controller 테스트 및 구현

* feat : 선생님 추가 Controller 테스트 및 구현

* feat : 선생님 삭제 Controller 테스트 및 구현

* fix : spotless 적용

* [Feat/#64] 선생님 삭제(탈퇴) repository 테스트 및 구현 (#68)

* feat : 선생님 목록 조회 repository 테스트

* feat : 선생님 추가 repository 테스트 및 구현

* merge : feature-member

* feat : 선생님 삭제(탈퇴) repository 테스트 및 구현

* feat/#55 반 상세조회 Service 작성 (#69)

* feat : addClassroom Service & test

* style : spotless 적용

* feat : repository 구현 & 테스트 작성

* feat : repository 구현 & 테스트 작성

* feat : 반 추가 controller 작성 & 테스트

* style : spotless 적용

* fix : 코드리뷰 변경사항 수정

* style : spotless 적용

* docs : 반 추가 api 문서 추가

* feat : findClassroomService 구현 및 ClassroomDto 리팩토링

* refactor : 인터페이스 이름 변경

* style : spotyless 적용

* fix : addClassroom 인터페이스 이름 변경

* style : spotless 적용

* test : 반 목록 조회 테스트 작성

* feat : 반 목록 조회 controller 구현 & test 작성

* fix : Controller dto, request, response 객체 수정

* feat : 반 상세조회 Service 구현

* fix : controller dto 변경, getClassroomListByTeacherId 인자를 query String 으로 변경

* style : spotless 적용

* style : optimize import

* style : optimize import

* style : spotless 적용

---------

Co-authored-by: seongha <seongha@seongha-2.local>

* Feat/#56 반 상세조회 Repository Test 작성 (#70)

* feat : addClassroom Service & test

* style : spotless 적용

* feat : repository 구현 & 테스트 작성

* feat : repository 구현 & 테스트 작성

* feat : 반 추가 controller 작성 & 테스트

* style : spotless 적용

* fix : 코드리뷰 변경사항 수정

* style : spotless 적용

* docs : 반 추가 api 문서 추가

* feat : findClassroomService 구현 및 ClassroomDto 리팩토링

* refactor : 인터페이스 이름 변경

* style : spotyless 적용

* fix : addClassroom 인터페이스 이름 변경

* style : spotless 적용

* test : 반 목록 조회 테스트 작성

* feat : 반 목록 조회 controller 구현 & test 작성

* fix : Controller dto, request, response 객체 수정

* feat : 반 상세조회 Service 구현

* fix : controller dto 변경, getClassroomListByTeacherId 인자를 query String 으로 변경

* style : spotless 적용

* style : optimize import

* style : optimize import

* style : spotless 적용

* test : 반 상세조회 repository test 작성

* fix : test 버그 수정 -> 전체 테스트시 Id 값이 변경되어 테스트 실패하는 것 수정

---------

Co-authored-by: seongha <seongha@seongha-2.local>

* Feat/#57 반 상세조회 Controller 구현 & Test 작성 (#72)

* feat : addClassroom Service & test

* style : spotless 적용

* feat : repository 구현 & 테스트 작성

* feat : repository 구현 & 테스트 작성

* feat : 반 추가 controller 작성 & 테스트

* style : spotless 적용

* fix : 코드리뷰 변경사항 수정

* style : spotless 적용

* docs : 반 추가 api 문서 추가

* feat : findClassroomService 구현 및 ClassroomDto 리팩토링

* refactor : 인터페이스 이름 변경

* style : spotyless 적용

* fix : addClassroom 인터페이스 이름 변경

* style : spotless 적용

* test : 반 목록 조회 테스트 작성

* feat : 반 목록 조회 controller 구현 & test 작성

* fix : Controller dto, request, response 객체 수정

* feat : 반 상세조회 Service 구현

* fix : controller dto 변경, getClassroomListByTeacherId 인자를 query String 으로 변경

* style : spotless 적용

* style : optimize import

* style : optimize import

* style : spotless 적용

* test : 반 상세조회 repository test 작성

* feat : 반 상세조회 controller 작성

* fix : test 버그 수정 -> 전체 테스트시 Id 값이 변경되어 테스트 실패하는 것 수정

* style : spotless 적용

---------

Co-authored-by: seongha <seongha@seongha-2.local>

* Feat/#82 반 수정 Service 구현 & test  (#85)

* feat : addClassroom Service & test

* style : spotless 적용

* feat : repository 구현 & 테스트 작성

* feat : repository 구현 & 테스트 작성

* feat : 반 추가 controller 작성 & 테스트

* style : spotless 적용

* fix : 코드리뷰 변경사항 수정

* style : spotless 적용

* docs : 반 추가 api 문서 추가

* feat : findClassroomService 구현 및 ClassroomDto 리팩토링

* refactor : 인터페이스 이름 변경

* style : spotyless 적용

* fix : addClassroom 인터페이스 이름 변경

* style : spotless 적용

* test : 반 목록 조회 테스트 작성

* feat : 반 목록 조회 controller 구현 & test 작성

* fix : Controller dto, request, response 객체 수정

* feat : 반 상세조회 Service 구현

* fix : controller dto 변경, getClassroomListByTeacherId 인자를 query String 으로 변경

* style : spotless 적용

* style : optimize import

* style : optimize import

* style : spotless 적용

* test : 반 상세조회 repository test 작성

* feat : 반 상세조회 controller 작성

* fix : test 버그 수정 -> 전체 테스트시 Id 값이 변경되어 테스트 실패하는 것 수정

* style : spotless 적용

* feat : 반 수정 Service 작성

---------

Co-authored-by: seongha <seongha@seongha-2.local>

* Feat/#83 반 수정 repostory 구현 & test (#86)

* feat : addClassroom Service & test

* style : spotless 적용

* feat : repository 구현 & 테스트 작성

* feat : repository 구현 & 테스트 작성

* feat : 반 추가 controller 작성 & 테스트

* style : spotless 적용

* fix : 코드리뷰 변경사항 수정

* style : spotless 적용

* docs : 반 추가 api 문서 추가

* feat : findClassroomService 구현 및 ClassroomDto 리팩토링

* refactor : 인터페이스 이름 변경

* style : spotyless 적용

* fix : addClassroom 인터페이스 이름 변경

* style : spotless 적용

* test : 반 목록 조회 테스트 작성

* feat : 반 목록 조회 controller 구현 & test 작성

* fix : Controller dto, request, response 객체 수정

* feat : 반 상세조회 Service 구현

* fix : controller dto 변경, getClassroomListByTeacherId 인자를 query String 으로 변경

* style : spotless 적용

* style : optimize import

* style : optimize import

* style : spotless 적용

* test : 반 상세조회 repository test 작성

* feat : 반 상세조회 controller 작성

* fix : test 버그 수정 -> 전체 테스트시 Id 값이 변경되어 테스트 실패하는 것 수정

* style : spotless 적용

* feat : 반 수정 Service 작성

* test : 반 수정 repository 테스트 작성

* test : 테스트 수정

* test : 테스트 실패 수정

---------

Co-authored-by: seongha <seongha@seongha-2.local>

* Feat/#84 반 수정 controller 작성 & test 작성 (#87)

* feat : addClassroom Service & test

* style : spotless 적용

* feat : repository 구현 & 테스트 작성

* feat : repository 구현 & 테스트 작성

* feat : 반 추가 controller 작성 & 테스트

* style : spotless 적용

* fix : 코드리뷰 변경사항 수정

* style : spotless 적용

* docs : 반 추가 api 문서 추가

* feat : findClassroomService 구현 및 ClassroomDto 리팩토링

* refactor : 인터페이스 이름 변경

* style : spotyless 적용

* fix : addClassroom 인터페이스 이름 변경

* style : spotless 적용

* test : 반 목록 조회 테스트 작성

* feat : 반 목록 조회 controller 구현 & test 작성

* fix : Controller dto, request, response 객체 수정

* feat : 반 상세조회 Service 구현

* fix : controller dto 변경, getClassroomListByTeacherId 인자를 query String 으로 변경

* style : spotless 적용

* style : optimize import

* style : optimize import

* style : spotless 적용

* test : 반 상세조회 repository test 작성

* feat : 반 상세조회 controller 작성

* fix : test 버그 수정 -> 전체 테스트시 Id 값이 변경되어 테스트 실패하는 것 수정

* style : spotless 적용

* feat : 반 수정 Service 작성

* test : 반 수정 repository 테스트 작성

* test : 테스트 수정

* test : 테스트 실패 수정

* feat : 반 수정 controller 구현 & test 작성

* docs : 문서 작성

* docs : 반 상세조회 추가로 인한 docs 패키지 변경 적용

---------

Co-authored-by: seongha <seongha@seongha-2.local>

* Feat/#89 반 삭제 Service 작성 (#92)

* feat : addClassroom Service & test

* style : spotless 적용

* feat : repository 구현 & 테스트 작성

* feat : repository 구현 & 테스트 작성

* feat : 반 추가 controller 작성 & 테스트

* style : spotless 적용

* fix : 코드리뷰 변경사항 수정

* style : spotless 적용

* docs : 반 추가 api 문서 추가

* feat : findClassroomService 구현 및 ClassroomDto 리팩토링

* refactor : 인터페이스 이름 변경

* style : spotyless 적용

* fix : addClassroom 인터페이스 이름 변경

* style : spotless 적용

* test : 반 목록 조회 테스트 작성

* feat : 반 목록 조회 controller 구현 & test 작성

* fix : Controller dto, request, response 객체 수정

* feat : 반 상세조회 Service 구현

* fix : controller dto 변경, getClassroomListByTeacherId 인자를 query String 으로 변경

* style : spotless 적용

* style : optimize import

* style : optimize import

* style : spotless 적용

* test : 반 상세조회 repository test 작성

* feat : 반 상세조회 controller 작성

* fix : test 버그 수정 -> 전체 테스트시 Id 값이 변경되어 테스트 실패하는 것 수정

* style : spotless 적용

* feat : 반 수정 Service 작성

* test : 반 수정 repository 테스트 작성

* test : 테스트 수정

* test : 테스트 실패 수정

* feat : 반 수정 controller 구현 & test 작성

* docs : 문서 작성

* docs : 반 상세조회 추가로 인한 docs 패키지 변경 적용

* feat: 반 삭제 Service 작성

---------

Co-authored-by: seongha <seongha@seongha-2.local>

* Feat/#90 반 삭제 Repository 구현 & test (#93)

* feat : addClassroom Service & test

* style : spotless 적용

* feat : repository 구현 & 테스트 작성

* feat : repository 구현 & 테스트 작성

* feat : 반 추가 controller 작성 & 테스트

* style : spotless 적용

* fix : 코드리뷰 변경사항 수정

* style : spotless 적용

* docs : 반 추가 api 문서 추가

* feat : findClassroomService 구현 및 ClassroomDto 리팩토링

* refactor : 인터페이스 이름 변경

* style : spotyless 적용

* fix : addClassroom 인터페이스 이름 변경

* style : spotless 적용

* test : 반 목록 조회 테스트 작성

* feat : 반 목록 조회 controller 구현 & test 작성

* fix : Controller dto, request, response 객체 수정

* feat : 반 상세조회 Service 구현

* fix : controller dto 변경, getClassroomListByTeacherId 인자를 query String 으로 변경

* style : spotless 적용

* style : optimize import

* style : optimize import

* style : spotless 적용

* test : 반 상세조회 repository test 작성

* feat : 반 상세조회 controller 작성

* fix : test 버그 수정 -> 전체 테스트시 Id 값이 변경되어 테스트 실패하는 것 수정

* style : spotless 적용

* feat : 반 수정 Service 작성

* test : 반 수정 repository 테스트 작성

* test : 테스트 수정

* test : 테스트 실패 수정

* feat : 반 수정 controller 구현 & test 작성

* docs : 문서 작성

* docs : 반 상세조회 추가로 인한 docs 패키지 변경 적용

* feat: 반 삭제 Service 작성

* test : 반 삭제 테스트 작성

---------

Co-authored-by: seongha <seongha@seongha-2.local>

* Feat/#91 반 삭제 Controller 구현 & Test 작성 (#94)

* feat : addClassroom Service & test

* style : spotless 적용

* feat : repository 구현 & 테스트 작성

* feat : repository 구현 & 테스트 작성

* feat : 반 추가 controller 작성 & 테스트

* style : spotless 적용

* fix : 코드리뷰 변경사항 수정

* style : spotless 적용

* docs : 반 추가 api 문서 추가

* feat : findClassroomService 구현 및 ClassroomDto 리팩토링

* refactor : 인터페이스 이름 변경

* style : spotyless 적용

* fix : addClassroom 인터페이스 이름 변경

* style : spotless 적용

* test : 반 목록 조회 테스트 작성

* feat : 반 목록 조회 controller 구현 & test 작성

* fix : Controller dto, request, response 객체 수정

* feat : 반 상세조회 Service 구현

* fix : controller dto 변경, getClassroomListByTeacherId 인자를 query String 으로 변경

* style : spotless 적용

* style : optimize import

* style : optimize import

* style : spotless 적용

* test : 반 상세조회 repository test 작성

* feat : 반 상세조회 controller 작성

* fix : test 버그 수정 -> 전체 테스트시 Id 값이 변경되어 테스트 실패하는 것 수정

* style : spotless 적용

* feat : 반 수정 Service 작성

* test : 반 수정 repository 테스트 작성

* test : 테스트 수정

* test : 테스트 실패 수정

* feat : 반 수정 controller 구현 & test 작성

* docs : 문서 작성

* docs : 반 상세조회 추가로 인한 docs 패키지 변경 적용

* feat: 반 삭제 Service 작성

* test : 반 삭제 테스트 작성

* feat : 반 삭제 Controller 작성

---------

Co-authored-by: seongha <seongha@seongha-2.local>

* merge : conflict resolve (#100)

* merge : conflict resolve

* style : spotlessApply

* [Fix] Resolve Conflict (#101)

* feat: member 도메인 api 개발 (#96)

* [Feat/#33] 선생님 목록 조회 서비스 테스트 및 구현 (#38)

* feat : 선생님 목록 조회 성공 서비스 테스트 작성

* feat : 선생님 목록 조회 서비스 구현

* spotless 적용

* fix : service와 repository의 domain 반환 형태를 Dto 반환하도록 변경

* fix : repository 반환 형태 복구

* fix : dto mapper 수정

* fix : stream 사용

* [Feat/#39] 선생님 추가 service 테스트 작성 및 구현 (#42)

* feat : 선생님 목록 조회 성공 서비스 테스트 작성

* feat : 선생님 목록 조회 서비스 구현

* spotless 적용

* feat : 선생님 추가 서비스 테스트 작성

* fix : service와 repository의 domain 반환 형태를 Dto 반환하도록 변경

* fix : repository 반환 형태 복구

* feat : 선생님 추가 서비스 구현

* fix : spotless 적용

* fix : Repository JPA method 수정

* fix : dto mapper 수정

* fix : 이름 중복 제거 메서드명 변경

* fix : 서비스 테스트 분리 및 ReqDto 명칭 변경

* fix : stream 사용

* fix : spotless 적용

* fix : 임시 join service 요청 추가

* [Feat/#43] 선생님 삭제 service 테스트 작성 및 구현 (#53)

* fix : dto inner 클래스로 수정

* feat : 선생님 삭제 서비스 테스트 작성

* feat : 선생님 삭제 서비스 구현

* fix : 예외 추가 및 도메인 규칙 사용하도록 로직 수정

* fix : 선생님 삭제 서비스 테스트 수정 및 예외 삭제

* [Feat/#54] 선생님 목록 조회 repository 테스트 및 구현 (#59)

* feat : 선생님 목록 조회 repository 테스트

* refactor : repository test assertion refactoring

* [Feat/#60] 선생님 추가 repository 테스트 및 구현 (#63)

* feat : 선생님 목록 조회 repository 테스트

* feat : 선생님 추가 repository 테스트 및 구현

* [Feat/#74] 선생님 목록 조회 Controller  테스트 및 구현 (#75)

* feat : 선생님 목록 조회 repository 테스트

* feat : 선생님 추가 repository 테스트 및 구현

* merge : feature-member

* feat : 선생님 삭제(탈퇴) repository 테스트 및 구현

* feat : 선생님 목록 조회 controller 테스트 및 구현

* [Feat/#76] 선생님 추가 Controller 테스트 및 구현 (#77)

* feat : 선생님 목록 조회 repository 테스트

* feat : 선생님 추가 repository 테스트 및 구현

* merge : feature-member

* feat : 선생님 삭제(탈퇴) repository 테스트 및 구현

* feat : 선생님 목록 조회 controller 테스트 및 구현

* feat : 선생님 추가 Controller 테스트 및 구현

* fix : spotless 적용

* [Feat/#78] 선생님 삭제 controller 테스트 및 구현 (#79)

* feat : 선생님 목록 조회 repository 테스트

* feat : 선생님 추가 repository 테스트 및 구현

* merge : feature-member

* feat : 선생님 삭제(탈퇴) repository 테스트 및 구현

* feat : 선생님 목록 조회 controller 테스트 및 구현

* feat : 선생님 추가 Controller 테스트 및 구현

* feat : 선생님 삭제 Controller 테스트 및 구현

* fix : spotless 적용

* [Feat/#64] 선생님 삭제(탈퇴) repository 테스트 및 구현 (#68)

* feat : 선생님 목록 조회 repository 테스트

* feat : 선생님 추가 repository 테스트 및 구현

* merge : feature-member

* feat : 선생님 삭제(탈퇴) repository 테스트 및 구현

* feat: mistakenote 도메인 api 개발 (#98)

* feat: 학생별 오답노트 조회 controller 단위 테스트 & 구현 (#22)

* test: 학생별 오답노트 조회 controller 단위 테스트

* feat: 학생별 오답노트 조회 controller 구현

* fix: 테스트 클래스 패키지 이동

* style: spotless 적용

* fix: DI 오류 수정

* docs: rest docs 작성

* feat: 학생별 오답노트 조회 service 단위 테스트 & 구현 (#23)

* test: 학생별 오답노트 조회 controller 단위 테스트

* feat: 학생별 오답노트 조회 controller 구현

* fix: 테스트 클래스 패키지 이동

* style: spotless 적용

* fix: DI 오류 수정

* docs: rest docs 작성

* test: service 단위 테스트

* test: service 단위 테스트

* style: 라인 공백

* feat: 학생별 오답노트 조회 service 구현

* test: 삭제 회원 검사로직 추가

* test: 회원 삭제 여부 로직을 위한 테스트 추가

* feat: 회원 삭제 여부 메서드 추가

* fix: workbookRepository 주입 제거

* feat: 학생별 오답노트 조회 repository 단위 테스트 (#24)

* test: 학생별 오답노트 조회 controller 단위 테스트

* feat: 학생별 오답노트 조회 controller 구현

* fix: 테스트 클래스 패키지 이동

* style: spotless 적용

* fix: DI 오류 수정

* docs: rest docs 작성

* test: service 단위 테스트

* test: service 단위 테스트

* style: 라인 공백

* feat: 학생별 오답노트 조회 service 구현

* test: 삭제 회원 검사로직 추가

* test: 회원 삭제 여부 로직을 위한 테스트 추가

* feat: 회원 삭제 여부 메서드 추가

* test: 오답노트 조회 repository 단위 테스트

* fix: workbookRepository 주입 제거

* feat: 오답 기록하기 controller 테스트 & 구현 (#31)

* test: controller 단위 테스트

* fix: usecase 매개변수 수정

* feat: controller 구현

* feat: serivce 구현체 추가

* docs: rest docs 작성

* fix: req 클래스 validation 추가

* feat: 오답 기록하기 service 단위 테스트 & 구현 (#32)

* test: controller 단위 테스트

* fix: usecase 매개변수 수정

* feat: controller 구현

* feat: serivce 구현체 추가

* docs: rest docs 작성

* fix: req 클래스 validation 추가

* test: service 테스트 클래스 생성

* test: 오답 기록하기 메서드 단위테스트

* fix: 틀린 문제 번호 배열 -> 리스트로 변경

* fix: 틀린 문제 번호 배열 -> 리스트로 변경

* fix: service 단위 테스트 결과값 검증으로 변경

* refactor: 오답 기록 메서드 리팩토링

* feat: service 구현

* style: spotless 적용

* feat: 문제 번호의 범위 검사를 위한 도메인 서비스 추가

* feat: 오답 기록하기 repository 단위 테스트 & 구현 (#34)

* test: controller 단위 테스트

* fix: usecase 매개변수 수정

* feat: controller 구현

* feat: serivce 구현체 추가

* docs: rest docs 작성

* fix: req 클래스 validation 추가

* test: service 테스트 클래스 생성

* test: 오답 기록하기 메서드 단위테스트

* fix: 틀린 문제 번호 배열 -> 리스트로 변경

* fix: 틀린 문제 번호 배열 -> 리스트로 변경

* fix: service 단위 테스트 결과값 검증으로 변경

* refactor: 오답 기록 메서드 리팩토링

* feat: service 구현

* style: spotless 적용

* feat: 문제 번호의 범위 검사를 위한 도메인 서비스 추가

* test: repository 단위 테스트

* feat: 교재 상세조회(전체 학생에 대한 오답노트 조회) controller 단위 테스트 & 구현 (#44)

* test: controller 단위 테스트

* feat: controller 구현

* style: 람다식 중괄호 제거

* refactor: 맵핑 메서드 분리

* style: 메서드 순서 변경

* docs: REST Doc 작성

* f

* fix: dto inner 클래스로 수정

* feat: 교재 상세조회(전체 학생에 대한 오답노트 조회) service 단위 테스트 & 구현 (#58)

* test: controller 단위 테스트

* feat: controller 구현

* style: 람다식 중괄호 제거

* refactor: 맵핑 메서드 분리

* style: 메서드 순서 변경

* docs: REST Doc 작성

* f

* fix: dto inner 클래스로 수정

* fix: dto 클래명 수정

* test: service 단위 테스트

* feat: servie 일부 구현

* feat: mybatis 설정 및 mapper 구현

* test: service 단위 테스트

* feat: service 구현

* fix: 버전 이슈로 인한 mybatis 다운 그레이드

* fix: 과거 dto 클래스 삭제

* feat: 교재 상세조회(전체 학생에 대한 오답노트 조회) mapper 단위 테스트 (#62)

* test: controller 단위 테스트

* feat: controller 구현

* style: 람다식 중괄호 제거

* refactor: 맵핑 메서드 분리

* style: 메서드 순서 변경

* docs: REST Doc 작성

* f

* fix: dto inner 클래스로 수정

* fix: dto 클래명 수정

* test: service 단위 테스트

* feat: servie 일부 구현

* feat: mybatis 설정 및 mapper 구현

* test: service 단위 테스트

* feat: service 구현

* fix: 버전 이슈로 인한 mybatis 다운 그레이드

* test: mybatis test 의존성 주입

* fix: mapper 파일 경로 수정

* fix: mybatis 설정 수정

* fix: mapper 클래스 경로 수정

* fix: 쿼리 별칭을 쌍따옴로 지정하도록 변경

* test: MistakeNoteMapper 단위 테스트

* MemberMapper 단위 테스트

* fix: 과거 dto 클래스 삭제

* fix: member setter 추가

* feat: 학생별 N번 이상 틀린 문제 출력 controller 단위 테스트 & 구현 (#71)

* test: controller 단위 테스트 & REST Docs 작성

* feat: controller 구현

* fix: usecase 분리

* style: spotless 적용

* fix: workbookId path variable 추가

* style: spotless 적용

* fix: 메서드 및 변수명에서 numbers를 number로 변경

* style: spotless 적용

* feat: 학생별 N번 이상 틀린 문제 출력 service 단위 테스트 & 구현 (#73)

* test: controller 단위 테스트 & REST Docs 작성

* feat: controller 구현

* fix: usecase 분리

* style: spotless 적용

* test: service 단위 테스트

* feat: service 구현

* style: spotless 적용

* fix: workbookId path variable 추가

* style: spotless 적용

* fix: 문제 범위에 대한 test 추가

* feat: service 구현

* fix: 메서드 및 변수명에서 numbers를 number로 변경

* style: spotless 적용

* fix: 메서드 및 변수명에서 numbers -> number로 변경

* refactor: 범위 검사 로직 리팩토링

* fix: test 메서드 및 클래스명 영어로 변경

* fix: 범위 검사 메서드 하나로 통일

* feat: 학생별 N번 이상 틀린 문제 출력 repository 단위 테스트 & 구현 (#81)

* test: controller 단위 테스트 & REST Docs 작성

* feat: controller 구현

* fix: usecase 분리

* style: spotless 적용

* test: service 단위 테스트

* feat: service 구현

* style: spotless 적용

* fix: workbookId path variable 추가

* style: spotless 적용

* fix: 문제 범위에 대한 test 추가

* feat: service 구현

* fix: 메서드 및 변수명에서 numbers를 number로 변경

* style: spotless 적용

* fix: 메서드 및 변수명에서 numbers -> number로 변경

* refactor: 범위 검사 로직 리팩토링

* fix: test 메서드 및 클래스명 영어로 변경

* fix: 범위 검사 메서드 하나로 통일

* test: repository 단위 테스트

* feat: mapper 쿼리 작성

* style: spotless 적용

* merge: develop 브랜치 병합

* feat: repository 누락 메서드 추가

* Delete src/test/java/com/ohdab/member/Controller directory

* merge : conflict resolve

* style : spotlessApply

---------

Co-authored-by: linirini <101927543+linirini@users.noreply.github.com>
Co-authored-by: Jonghan Sim <simhani1@gmail.com>

* feat : 선생님 추가 시 회원가입 요청 이벤트 구현

* feat : 선생님 추가 시 회원가입 성공 이벤트 테스트 작성

* fix : 선생님 추가 성공 서비스 테스트 수정

* feat : 이름 중복 확인 후 겹치는 이름 개수 반환하는 레포지토리 메서드 추가 테스트

* fix : 이름 겹치는 회원 수 조회 성공 테스트 수정

* fix : 이미 존재하는 이름으로 추가 요청 시 예외 처리

---------

Co-authored-by: seongha_h <11pi885@gmail.com>
Co-authored-by: seongha <seongha@seongha-2.local>
Co-authored-by: Jonghan Sim <simhani1@gmail.com>
  • Loading branch information
4 people committed Aug 18, 2023
1 parent 22e93e4 commit 0db10f0
Show file tree
Hide file tree
Showing 8 changed files with 92 additions and 44 deletions.
6 changes: 1 addition & 5 deletions src/docs/asciidoc/ohdab.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,6 @@ include::{snippets}/members/teachers/expulsion/{teacher-id}/http-request.adoc[]

include::{snippets}/members/teachers/expulsion/{teacher-id}/http-response.adoc[]

== MistakeNote

=== 교재 상세조회(전체 학생에 대한 오답노트 조회)

==== Request
Expand Down Expand Up @@ -199,6 +197,4 @@ include::{snippets}/classrooms/workbooks/info/{workbook-id}/http-request.adoc[]

==== Response

include::{snippets}/classrooms/workbooks/info/{workbook-id}/http-response.adoc[]


include::{snippets}/classrooms/workbooks/info/{workbook-id}/http-response.adoc[]
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package com.ohdab.core.util.event.handler;

import com.ohdab.member.event.TeacherAddedEvent;
import com.ohdab.member.repository.MemberRepository;
import com.ohdab.member.service.dto.MemberDtoForJoin;
import com.ohdab.member.service.usecase.JoinUsecase;
import java.util.List;
import lombok.RequiredArgsConstructor;
import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Component;

@Component
@RequiredArgsConstructor
public class TeacherAddedHandler {

private final JoinUsecase joinUsecase;
private final MemberRepository memberRepository;

@EventListener(TeacherAddedEvent.class)
public void join(TeacherAddedEvent event) {
joinUsecase.join(
MemberDtoForJoin.Request.builder()
.name(event.getName())
.password(event.getPassword())
.role(List.of("TEACHER"))
.build());
}
}
20 changes: 20 additions & 0 deletions src/main/java/com/ohdab/member/event/TeacherAddedEvent.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package com.ohdab.member.event;

import lombok.AccessLevel;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;

@Getter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class TeacherAddedEvent {

private String name;
private String password;

@Builder
public TeacherAddedEvent(String name) {
this.name = name;
this.password = "1234";
}
}
35 changes: 6 additions & 29 deletions src/main/java/com/ohdab/member/service/AddTeacherService.java
Original file line number Diff line number Diff line change
@@ -1,16 +1,12 @@
package com.ohdab.member.service;

import static com.ohdab.member.service.helper.MemberHelperService.checkIfMemberExistByName;

import com.ohdab.core.exception.ExceptionEnum;
import com.ohdab.member.exception.NoMemberException;
import com.ohdab.member.event.TeacherAddedEvent;
import com.ohdab.member.repository.MemberRepository;
import com.ohdab.member.service.dto.MemberDtoForAddTeacher;
import com.ohdab.member.service.dto.MemberDtoForJoin;
import com.ohdab.member.service.usecase.AddTeacherUsecase;
import com.ohdab.member.service.usecase.JoinUsecase;
import java.util.List;
import lombok.RequiredArgsConstructor;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

Expand All @@ -19,36 +15,17 @@
@Transactional
public class AddTeacherService implements AddTeacherUsecase {

private final ApplicationEventPublisher publisher;
private final MemberRepository memberRepository;
private final JoinUsecase joinUsecase;

@Override
public void addTeacher(MemberDtoForAddTeacher.Request addTeacherReqDto) {
String name = addTeacherReqDto.getName();
name = changeNameIfDuplicated(name);
String password = name;
MemberDtoForJoin.Request memberDtoForJoin =
MemberDtoForJoin.Request.builder()
.name(name)
.password(password)
.role(List.of("TEACHER", "STUDENT"))
.build();
// TODO:선생님 추가 시 회원가입 요청
joinUsecase.join(memberDtoForJoin);
throwIfJoinFailed(name);
}

private String changeNameIfDuplicated(String name) {
if (checkIfMemberExistByName(memberRepository, name)) {
long sameNameCount = memberRepository.countByMemberInfoNameContaining(name);
return name = name + sameNameCount;
}
return name;
publishTeacherAddedEvent(name);
}

private void throwIfJoinFailed(String name) {
if (!checkIfMemberExistByName(memberRepository, name)) {
throw new NoMemberException(ExceptionEnum.NO_MEMBER.getMessage());
}
private void publishTeacherAddedEvent(String name) {
publisher.publishEvent(TeacherAddedEvent.builder().name(name).build());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,4 @@ public static Member findExistingMemberById(MemberRepository memberRepository, l
.findById(id)
.orElseThrow(() -> new NoMemberException(ExceptionEnum.NO_MEMBER.getMessage()));
}

public static boolean checkIfMemberExistByName(MemberRepository memberRepository, String name) {
return memberRepository.existsByMemberInfoName(name);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package com.ohdab.core.util.event.handler;

import static org.assertj.core.api.AssertionsForClassTypes.assertThat;

import com.ohdab.member.event.TeacherAddedEvent;
import com.ohdab.member.service.dto.MemberDtoForAddTeacher;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.test.context.event.ApplicationEvents;
import org.springframework.test.context.event.RecordApplicationEvents;

@SpringBootTest
@RecordApplicationEvents
public class TeacherAddedHandlerTest {

@Autowired private ApplicationEventPublisher publisher;
@Autowired private ApplicationEvents events;

@Test
@DisplayName("선생님 추가시 회원가입 성공 테스트")
void 선생님__회원_성공() {
// given
String name = "선생님";
MemberDtoForAddTeacher.Request addTeacherReq =
MemberDtoForAddTeacher.Request.builder().name(name).build();

// when
publisher.publishEvent(TeacherAddedEvent.builder().name(addTeacherReq.getName()).build());

// then
assertThat(events.stream(TeacherAddedEvent.class).count()).isEqualTo(1);
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.ohdab.member.Controller;
package com.ohdab.member.controller;

import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.when;
Expand All @@ -12,7 +12,6 @@
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;

import com.fasterxml.jackson.databind.ObjectMapper;
import com.ohdab.member.controller.MemberController;
import com.ohdab.member.controller.request.AddTeacherReq;
import com.ohdab.member.controller.request.JoinReq;
import com.ohdab.member.controller.request.LoginReq;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mockito;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.test.context.ContextConfiguration;
Expand All @@ -32,9 +31,6 @@ class AddTeacherServiceTest {
MemberDtoForAddTeacher.Request.builder().name(name).build();

// when
Mockito.when(memberRepository.existsByMemberInfoName(Mockito.anyString()))
.thenReturn(false);
Mockito.when(memberRepository.existsByMemberInfoName(Mockito.anyString())).thenReturn(true);

// then
assertThatNoException()
Expand Down

0 comments on commit 0db10f0

Please sign in to comment.