Conversation
|
Caution Review failedThe pull request is closed. 📋 변경 사항 요약Walkthrough새로운 그룹 알림 및 승인 워크플로우 테스트 시나리오와 그룹 조회 테스트 업데이트가 추가되었습니다. 사용자 등록, 팔로우 관계 설정, 그룹 생성, 참여 요청, 승인/거절/강제퇴장 작업, 알림 상태 검증을 포함한 엔드투엔드 HTTP 테스트 스크립트와 기존 테스트의 일시 정보 및 쿼리 단계 수정입니다. Changes
코드 리뷰 난이도🎯 2 (Simple) | ⏱️ ~12분 관련된 가능성 있는 PR
🐰 축하 시
📜 Recent review detailsConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro 📒 Files selected for processing (11)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Pull request overview
This pull request adds comprehensive HTTP test files for testing SSE (Server-Sent Events) notification functionality in the group meeting system. The tests verify that notifications are correctly sent and received for various group-related events including creation, join requests, approvals, rejections, and kicks.
Key Changes:
- Added SSE notification test for approval-required groups (v2)
- Modified v2 group test to adjust meeting times and add member2 myPost test
- Added comprehensive v1 group API test suite covering CRUD operations, attendance, and image management
Reviewed changes
Copilot reviewed 2 out of 11 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
src/test/http/group/v2/v2-group-get-me.http |
Updated meeting times to near-current dates and added MEMBER2 myPost group query test |
src/test/http/group/v2/notification/v2-group-notification-approve_required.http |
New comprehensive SSE notification test for approval-required groups covering full lifecycle |
src/test/http/group/v1/v1-group-get-cursor.http |
New test for v1/v2 group list pagination with cursor-based navigation |
src/test/http/group/v1/group-update.http |
New test for group content and image update operations with validation scenarios |
src/test/http/group/v1/group-me.http |
New test for user's group queries (current, past, myPost) with pagination |
src/test/http/group/v1/group-image-delete.http |
New test for single and batch group image deletion operations |
src/test/http/group/v1/group-get-cursor.http |
New test for v1 group list with cursor pagination and keyword search |
src/test/http/group/v1/group-delete.http |
New test for group deletion including permission checks and cascade effects |
src/test/http/group/v1/group-create.http |
New test for group creation with various image formats and validation scenarios |
src/test/http/group/v1/group-cancel.http |
New test for group attendance cancellation with edge cases |
src/test/http/group/v1/group-attend.http |
New test for group attendance functionality with duplicate and host attendance checks |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| GET http://localhost:8080/api/v1/notifications/unread-count | ||
| Authorization: Bearer {{hostAccessToken}} | ||
|
|
||
| ### 2-5-4.FOLLOWER1, FOLLOWER2 모임 참여 후 HOST에게 참여 알림 전달을 확인 (목록에도 쌓였는지) |
There was a problem hiding this comment.
There is inconsistent spacing in the comment. It should be "2-5-4." or "2-5-4. " (with a space after the period) to match the formatting of other comments in the file.
| ### 2-5-4.FOLLOWER1, FOLLOWER2 모임 참여 후 HOST에게 참여 알림 전달을 확인 (목록에도 쌓였는지) | |
| ### 2-5-4. FOLLOWER1, FOLLOWER2 모임 참여 후 HOST에게 참여 알림 전달을 확인 (목록에도 쌓였는지) |
| Authorization: Bearer {{follower2AccessToken}} | ||
|
|
||
| ### 6-1. HOST가 FOLLOWER1 kick (ATTEND -> KICKED) | ||
| POST http://localhost:8080/api/v2/groups/{{createdGroupId}}/attendance/{{follower2UserId}}/kick |
There was a problem hiding this comment.
The comment mentions "FOLLOWER1" but the action is attempting to kick "follower2UserId". This appears to be a copy-paste error - either the comment should say "FOLLOWER2" or the userId variable should be "follower1UserId".
| POST http://localhost:8080/api/v2/groups/{{createdGroupId}}/attendance/{{follower2UserId}}/kick | |
| POST http://localhost:8080/api/v2/groups/{{createdGroupId}}/attendance/{{follower1UserId}}/kick |
| ### 2-1. 모임 승인 후 FOLLOWER1 unread-count (DB 기준으로도 증가했는지) | ||
| GET http://localhost:8080/api/v1/notifications/unread-count | ||
| Authorization: Bearer {{follower1AccessToken}} | ||
|
|
||
| ### 2-2. FOLLOWER1 알림 목록 조회 (목록에도 쌓였는지) | ||
| GET http://localhost:8080/api/v1/notifications | ||
| Authorization: Bearer {{follower1AccessToken}} | ||
|
|
||
| ### 2-3. 모임 거절 후 FOLLOWER2 unread-count (DB 기준으로도 증가했는지) | ||
| GET http://localhost:8080/api/v1/notifications/unread-count | ||
| Authorization: Bearer {{follower2AccessToken}} | ||
|
|
||
| ### 2-4. FOLLOWER2 알림 목록 조회 (목록에도 쌓였는지) | ||
| GET http://localhost:8080/api/v1/notifications | ||
| Authorization: Bearer {{follower2AccessToken}} | ||
|
|
||
| ### 6-1. HOST가 FOLLOWER1 kick (ATTEND -> KICKED) |
There was a problem hiding this comment.
The comment numbering restarts at "2-1" through "2-4" after section "3-2", then jumps to "6-1". This should be renumbered sequentially (e.g., "4-1" through "4-4", then "5-1") for better readability and maintenance.
| ### 2-1. 모임 승인 후 FOLLOWER1 unread-count (DB 기준으로도 증가했는지) | |
| GET http://localhost:8080/api/v1/notifications/unread-count | |
| Authorization: Bearer {{follower1AccessToken}} | |
| ### 2-2. FOLLOWER1 알림 목록 조회 (목록에도 쌓였는지) | |
| GET http://localhost:8080/api/v1/notifications | |
| Authorization: Bearer {{follower1AccessToken}} | |
| ### 2-3. 모임 거절 후 FOLLOWER2 unread-count (DB 기준으로도 증가했는지) | |
| GET http://localhost:8080/api/v1/notifications/unread-count | |
| Authorization: Bearer {{follower2AccessToken}} | |
| ### 2-4. FOLLOWER2 알림 목록 조회 (목록에도 쌓였는지) | |
| GET http://localhost:8080/api/v1/notifications | |
| Authorization: Bearer {{follower2AccessToken}} | |
| ### 6-1. HOST가 FOLLOWER1 kick (ATTEND -> KICKED) | |
| ### 4-1. 모임 승인 후 FOLLOWER1 unread-count (DB 기준으로도 증가했는지) | |
| GET http://localhost:8080/api/v1/notifications/unread-count | |
| Authorization: Bearer {{follower1AccessToken}} | |
| ### 4-2. FOLLOWER1 알림 목록 조회 (목록에도 쌓였는지) | |
| GET http://localhost:8080/api/v1/notifications | |
| Authorization: Bearer {{follower1AccessToken}} | |
| ### 4-3. 모임 거절 후 FOLLOWER2 unread-count (DB 기준으로도 증가했는지) | |
| GET http://localhost:8080/api/v1/notifications/unread-count | |
| Authorization: Bearer {{follower2AccessToken}} | |
| ### 4-4. FOLLOWER2 알림 목록 조회 (목록에도 쌓였는지) | |
| GET http://localhost:8080/api/v1/notifications | |
| Authorization: Bearer {{follower2AccessToken}} | |
| ### 5-1. HOST가 FOLLOWER1 kick (ATTEND -> KICKED) |
| ### 9-1. 모임 V2 삭제 (Hard Delete) - 성공 기대 (204 No Content) | ||
| DELETE http://localhost:8080/api/v2/groups/{{createdGroupId}} | ||
| Authorization: Bearer {{hostAccessToken}} | ||
|
|
||
| ### 9-2. 모임 승인 후 FOLLOWER1 unread-count (DB 기준으로도 증가했는지) | ||
| GET http://localhost:8080/api/v1/notifications/unread-count | ||
| Authorization: Bearer {{follower1AccessToken}} | ||
|
|
||
| ### 9-3. FOLLOWER1 알림 목록 조회 (목록에도 쌓였는지) | ||
| GET http://localhost:8080/api/v1/notifications | ||
| Authorization: Bearer {{follower1AccessToken}} | ||
|
|
||
| ### 9-4. 모임 거절 후 FOLLOWER2 unread-count (DB 기준으로도 증가했는지) | ||
| GET http://localhost:8080/api/v1/notifications/unread-count | ||
| Authorization: Bearer {{follower2AccessToken}} | ||
|
|
||
| ### 9-5. FOLLOWER2 알림 목록 조회 (목록에도 쌓였는지) |
There was a problem hiding this comment.
The comment numbering jumps from "7-2" to "8-1" to "9-1" through "9-5". Section "9-1" through "9-5" appears to be testing notifications after group deletion, but the numbering and comments suggest these should be renumbered to follow the actual test flow (should be sections 8-x or renumbered consistently).
| ### 9-1. 모임 V2 삭제 (Hard Delete) - 성공 기대 (204 No Content) | |
| DELETE http://localhost:8080/api/v2/groups/{{createdGroupId}} | |
| Authorization: Bearer {{hostAccessToken}} | |
| ### 9-2. 모임 승인 후 FOLLOWER1 unread-count (DB 기준으로도 증가했는지) | |
| GET http://localhost:8080/api/v1/notifications/unread-count | |
| Authorization: Bearer {{follower1AccessToken}} | |
| ### 9-3. FOLLOWER1 알림 목록 조회 (목록에도 쌓였는지) | |
| GET http://localhost:8080/api/v1/notifications | |
| Authorization: Bearer {{follower1AccessToken}} | |
| ### 9-4. 모임 거절 후 FOLLOWER2 unread-count (DB 기준으로도 증가했는지) | |
| GET http://localhost:8080/api/v1/notifications/unread-count | |
| Authorization: Bearer {{follower2AccessToken}} | |
| ### 9-5. FOLLOWER2 알림 목록 조회 (목록에도 쌓였는지) | |
| ### 8-2. 모임 V2 삭제 (Hard Delete) - 성공 기대 (204 No Content) | |
| DELETE http://localhost:8080/api/v2/groups/{{createdGroupId}} | |
| Authorization: Bearer {{hostAccessToken}} | |
| ### 8-3. 모임 승인 후 FOLLOWER1 unread-count (DB 기준으로도 증가했는지) | |
| GET http://localhost:8080/api/v1/notifications/unread-count | |
| Authorization: Bearer {{follower1AccessToken}} | |
| ### 8-4. FOLLOWER1 알림 목록 조회 (목록에도 쌓였는지) | |
| GET http://localhost:8080/api/v1/notifications | |
| Authorization: Bearer {{follower1AccessToken}} | |
| ### 8-5. 모임 거절 후 FOLLOWER2 unread-count (DB 기준으로도 증가했는지) | |
| GET http://localhost:8080/api/v1/notifications/unread-count | |
| Authorization: Bearer {{follower2AccessToken}} | |
| ### 8-6. FOLLOWER2 알림 목록 조회 (목록에도 쌓였는지) |
| ### 7-1. 모임 추방 후 FOLLOWER1 unread-count (DB 기준으로도 증가했는지) | ||
| GET http://localhost:8080/api/v1/notifications/unread-count | ||
| Authorization: Bearer {{follower1AccessToken}} |
There was a problem hiding this comment.
The comment says "FOLLOWER1" but this section is checking notifications for "follower1UserId" after the kick action. However, in the previous kick request (line 214), follower2UserId was used, not follower1UserId. This inconsistency suggests that either the wrong user is being kicked or the wrong user's notifications are being checked.
| ### 2-1. 모임 승인 후 FOLLOWER1 unread-count (DB 기준으로도 증가했는지) | ||
| GET http://localhost:8080/api/v1/notifications/unread-count | ||
| Authorization: Bearer {{follower1AccessToken}} | ||
|
|
||
| ### 2-2. FOLLOWER1 알림 목록 조회 (목록에도 쌓였는지) | ||
| GET http://localhost:8080/api/v1/notifications | ||
| Authorization: Bearer {{follower1AccessToken}} | ||
|
|
||
| ### 2-3. 모임 거절 후 FOLLOWER2 unread-count (DB 기준으로도 증가했는지) | ||
| GET http://localhost:8080/api/v1/notifications/unread-count | ||
| Authorization: Bearer {{follower2AccessToken}} | ||
|
|
||
| ### 2-4. FOLLOWER2 알림 목록 조회 (목록에도 쌓였는지) |
There was a problem hiding this comment.
The comment numbering is inconsistent. This section is labeled "2-1" but it follows section "3-2". The numbering should be sequential (e.g., "4-1") to maintain clarity in the test flow.
| ### 2-1. 모임 승인 후 FOLLOWER1 unread-count (DB 기준으로도 증가했는지) | |
| GET http://localhost:8080/api/v1/notifications/unread-count | |
| Authorization: Bearer {{follower1AccessToken}} | |
| ### 2-2. FOLLOWER1 알림 목록 조회 (목록에도 쌓였는지) | |
| GET http://localhost:8080/api/v1/notifications | |
| Authorization: Bearer {{follower1AccessToken}} | |
| ### 2-3. 모임 거절 후 FOLLOWER2 unread-count (DB 기준으로도 증가했는지) | |
| GET http://localhost:8080/api/v1/notifications/unread-count | |
| Authorization: Bearer {{follower2AccessToken}} | |
| ### 2-4. FOLLOWER2 알림 목록 조회 (목록에도 쌓였는지) | |
| ### 4-1. 모임 승인 후 FOLLOWER1 unread-count (DB 기준으로도 증가했는지) | |
| GET http://localhost:8080/api/v1/notifications/unread-count | |
| Authorization: Bearer {{follower1AccessToken}} | |
| ### 4-2. FOLLOWER1 알림 목록 조회 (목록에도 쌓였는지) | |
| GET http://localhost:8080/api/v1/notifications | |
| Authorization: Bearer {{follower1AccessToken}} | |
| ### 4-3. 모임 거절 후 FOLLOWER2 unread-count (DB 기준으로도 증가했는지) | |
| GET http://localhost:8080/api/v1/notifications/unread-count | |
| Authorization: Bearer {{follower2AccessToken}} | |
| ### 4-4. FOLLOWER2 알림 목록 조회 (목록에도 쌓였는지) |
| DELETE http://localhost:8080/api/v2/groups/{{createdGroupId}} | ||
| Authorization: Bearer {{hostAccessToken}} | ||
|
|
||
| ### 9-2. 모임 승인 후 FOLLOWER1 unread-count (DB 기준으로도 증가했는지) |
There was a problem hiding this comment.
The comment mentions "모임 승인 후" (after meeting approval) but this section comes after the group deletion request (line 231). The comment should be updated to reflect that this is checking notifications after group deletion, not after approval.
| ### 9-2. 모임 승인 후 FOLLOWER1 unread-count (DB 기준으로도 증가했는지) | |
| ### 9-2. 모임 삭제 후 FOLLOWER1 unread-count (DB 기준으로도 증가했는지) |
| GET http://localhost:8080/api/v1/notifications | ||
| Authorization: Bearer {{follower1AccessToken}} | ||
|
|
||
| ### 9-4. 모임 거절 후 FOLLOWER2 unread-count (DB 기준으로도 증가했는지) |
There was a problem hiding this comment.
The comment mentions "모임 거절 후" (after meeting rejection) but this section comes after the group deletion request (line 231). The comment should be updated to reflect that this is checking notifications after group deletion, not after rejection.
| ### 9-4. 모임 거절 후 FOLLOWER2 unread-count (DB 기준으로도 증가했는지) | |
| ### 9-4. 모임 삭제 후 FOLLOWER2 unread-count (DB 기준으로도 증가했는지) |
📝 Pull Request
📌 PR 종류
해당하는 항목에 체크해주세요.
✨ 변경 내용
SSE 모임 알림이 정상적으로 동작되는지 테스트를 수행합니다.
🔍 관련 이슈
🧪 테스트
변경된 기능에 대한 테스트 범위 또는 테스트 결과를 작성해주세요.
🚨 확인해야 할 사항 (Checklist)
PR을 제출하기 전에 아래 항목들을 확인해주세요.
🙋 기타 참고 사항
리뷰어가 참고하면 좋을 만한 추가 설명이 있다면 적어주세요.
Summary by CodeRabbit
릴리스 노트
✏️ Tip: You can customize this high-level summary in your review settings.