-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[feat] 구매자는 매장 리스트를 조회할 수 있다 #102
The head ref may contain hidden characters: "feature/72_Hyeon-Uk_\uAD6C\uB9E4\uC790\uB294_\uB9E4\uC7A5_\uB9AC\uC2A4\uD2B8\uB97C_\uC870\uD68C\uD560_\uC218_\uC788\uB2E4"
Conversation
- 값을 언제든 바꿀 수 있음
- 언제든지 값은 바뀔 수 있음
- 언제든지 값은 바뀔 수 있음
- 다양한 생성자를 통해 DEFAULT값들을 초기화해줄 수 있습니다.
- of메서드를 이용해서만 생성할 수 있게 제한
- 입력값과 출력값의 값을 비교하며 검증
- 추후 conflict 처리할때 변경
1. Store의 카테고리를 이용해 필터링 2. Store의 MIN_ORDER_PRICE를 이용해서 필터링 3. Store의 MIN_ORDER_PRICE를 이용해 정렬(오름차순/내림차순) 4. Store의 OrderCount를 기준으로 정렬(오름차순/내림차순) 5. 기본 사이즈(20)로 paging처리 가능
1. Store의 카테고리를 이용해 필터링 2. Store의 MIN_ORDER_PRICE를 이용해서 필터링 3. Store의 MIN_ORDER_PRICE를 이용해 정렬(오름차순/내림차순) 4. Store의 OrderCount를 기준으로 정렬(오름차순/내림차순) 5. 기본 사이즈(20)로 paging처리 가능
- ArgumentResolver를 이용해 파라미터의 값들을 DTO로 받아온 뒤 처리
- 해당 컨트롤러 테스트에서 StoreDao는 사용하지 않지만, 의존성이 깨지지 않기 위해 주입
2fe2e49 커밋 메세지 오류입니다.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
고생하셨습니다!!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
궁금한점 코멘트 남겼습니다!!!
src/main/java/camp/woowak/lab/web/resolver/store/StoreSortBy.java
Outdated
Show resolved
Hide resolved
src/main/java/camp/woowak/lab/web/resolver/store/StorePageableFilterSortArgumentResolver.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이전의 PR에서 Order의 생성자가 변경되다보니 충돌이 나는 것 같네요.
테스트 코드에서 new Order(Customer,Store)
를 사용하는 코드를 mock(Order.class)
해서 사용하면 될 것 같습니다.
감사합니다! 모든 Comment를 해결한 뒤 충돌 처리하면서 적용하겠습니다! :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 🚀🚀
src/main/java/camp/woowak/lab/web/resolver/store/StoreSortBy.java
Outdated
Show resolved
Hide resolved
src/main/java/camp/woowak/lab/web/resolver/store/StorePageableFilterSortArgumentResolver.java
Outdated
Show resolved
Hide resolved
- Fixture에서 더미데이터를 사용할 때 Mocking하고 싶었지만, 실제 Repository레이어를 사용하기 때문에 내부 서비스만 mocking
💡 다음 이슈를 해결했어요.
Issue Link - #74
💡 이슈를 처리하면서 추가된 코드가 있어요.
StorePageableFilterSortArgumentResolver
: 페이징, 필터링, 정렬에 필요한 값들을 바인딩해서 넘겨줄 수 있는 ArgumentResolver입니다.StorePFS
: 바인딩하기 위한 어노테이션입니다.StoreSortBy
: Store의 정렬 기준을 관리하는 Enum클래스입니다.StoreFilterBy
: Store의 필터 기준을 관리하는 Enum클래스입니다.StoreInfoListRequestConst
: 가게 정보 리스트를 조회할 때 필요한 값들의Key값과Default값들을 관리합니다.StoreInfoListRequest
: 필터링, 정렬, 페이징 조건들이 실제로 바인딩 될 클래스입니다.StoreInfoListResponse
: 필터링, 정렬, 페이징을 거친 뒤, 클라이언트에게 전달해줄 데이터를 가지고 있는 클래스입니다.StoreDao
: 동적 쿼리를 이용해 조건에 맞는 Store를 찾는 Data Access Object입니다.💡 이런 고민을 했어요.
StoreDummiesFixture
:StoreDao
객체를 테스트하는 코드와,StoreApiController
에서 Dao를 이용해 조회하는 부분 모두 동일한 조건의 더미데이터를 중복해서 사용합니다.StoreDaoTest
와StoreApiControllerTestWithDao
를 모두 변경해야 합니다.StoreDummiesFixture
를 생성해서 추후 도메인 엔티티의 구조 및 제약조건이 변경되더라도 Fixture만 변경하면 되고, 테스트 클래스에는 실제 테스트 로직만 보여질 수 있습다.✅ 셀프 체크리스트