Skip to content

[FEAT] 모임 알림 테스트#188

Merged
LimdaeIl merged 2 commits intomainfrom
feat/group-notification
Jan 1, 2026
Merged

[FEAT] 모임 알림 테스트#188
LimdaeIl merged 2 commits intomainfrom
feat/group-notification

Conversation

@LimdaeIl
Copy link
Collaborator

@LimdaeIl LimdaeIl commented Jan 1, 2026

📝 Pull Request

📌 PR 종류

해당하는 항목에 체크해주세요.

  • 기능 추가 (Feature)
  • 버그 수정 (Fix)
  • 문서 수정 (Docs)
  • 코드 리팩터링 (Refactor)
  • 테스트 추가 (Test)
  • 기타 변경 (Chore)

✨ 변경 내용

SSE 모임 알림이 정상적으로 동작되는지 테스트를 수행합니다.

🔍 관련 이슈

🧪 테스트

변경된 기능에 대한 테스트 범위 또는 테스트 결과를 작성해주세요.

  • 유닛 테스트 추가 / 수정
  • 통합 테스트 검증
  • 수동 테스트 완료

🚨 확인해야 할 사항 (Checklist)

PR을 제출하기 전에 아래 항목들을 확인해주세요.

  • 코드 포매팅 완료
  • 불필요한 파일/코드 제거
  • 로직 검증 완료
  • 프로젝트 빌드 성공
  • 린트/정적 분석 통과 (해당 시)

🙋 기타 참고 사항

리뷰어가 참고하면 좋을 만한 추가 설명이 있다면 적어주세요.

Summary by CodeRabbit

릴리스 노트

  • Tests
    • 그룹 알림 및 승인 흐름에 대한 포괄적인 엔드투엔드 테스트 시나리오 추가
    • 그룹 생성 테스트 데이터의 날짜/시간 값 업데이트
    • 사용자 그룹 목록 조회 기능에 대한 추가 테스트 단계 구현

✏️ Tip: You can customize this high-level summary in your review settings.

@LimdaeIl LimdaeIl self-assigned this Jan 1, 2026
Copilot AI review requested due to automatic review settings January 1, 2026 03:47
@LimdaeIl LimdaeIl added the ✨enhancement New feature or request label Jan 1, 2026
@LimdaeIl LimdaeIl moved this from Backlog to In progress in WeGo-Together Backend Jan 1, 2026
@coderabbitai
Copy link

coderabbitai bot commented Jan 1, 2026

Caution

Review failed

The pull request is closed.

📋 변경 사항 요약

Walkthrough

새로운 그룹 알림 및 승인 워크플로우 테스트 시나리오와 그룹 조회 테스트 업데이트가 추가되었습니다. 사용자 등록, 팔로우 관계 설정, 그룹 생성, 참여 요청, 승인/거절/강제퇴장 작업, 알림 상태 검증을 포함한 엔드투엔드 HTTP 테스트 스크립트와 기존 테스트의 일시 정보 및 쿼리 단계 수정입니다.

Changes

코호트 / 파일 변경 사항 요약
그룹 알림 및 승인 테스트
src/test/http/group/v2/notification/v2-group-notification-approve_required.http
새로운 엔드투엔드 테스트 파일 추가: 다중 사용자 인증, 알림 활성화, 팔로우 관계 설정, 그룹 생성, 참여 요청 제출, 승인/거절/강제퇴장 작업, 알림 상태 및 미읽음 개수 검증 포함
그룹 조회 테스트 업데이트
src/test/http/group/v2/v2-group-get-me.http
그룹 생성 페이로드의 startTime/endTime을 2026-12-20에서 2025-12-31로 변경, MEMBER2의 myPost 조회 단계(11.1) 추가 및 결과를 전역 변수에 저장

코드 리뷰 난이도

🎯 2 (Simple) | ⏱️ ~12분

관련된 가능성 있는 PR

🐰 축하 시

🐇 알림 테스트 추가되었네요,
SSE 흐름을 확인하고,
승인과 거절을 검증하며,
모임 기능을 든든히 지키는군요!
테스트의 힘으로 버그는 물러나고,
안정성은 쑥쑥 자라나요~ ✨


📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6e436ae and 8d759ef.

📒 Files selected for processing (11)
  • src/test/http/group/v1/group-attend.http
  • src/test/http/group/v1/group-cancel.http
  • src/test/http/group/v1/group-create.http
  • src/test/http/group/v1/group-delete.http
  • src/test/http/group/v1/group-get-cursor.http
  • src/test/http/group/v1/group-image-delete.http
  • src/test/http/group/v1/group-me.http
  • src/test/http/group/v1/group-update.http
  • src/test/http/group/v1/v1-group-get-cursor.http
  • src/test/http/group/v2/notification/v2-group-notification-approve_required.http
  • src/test/http/group/v2/v2-group-get-me.http

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@LimdaeIl LimdaeIl merged commit 81e96d3 into main Jan 1, 2026
4 of 5 checks passed
@LimdaeIl LimdaeIl deleted the feat/group-notification branch January 1, 2026 03:48
@github-project-automation github-project-automation bot moved this from In progress to Done in WeGo-Together Backend Jan 1, 2026
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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에게 참여 알림 전달을 확인 (목록에도 쌓였는지)
Copy link

Copilot AI Jan 1, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
### 2-5-4.FOLLOWER1, FOLLOWER2 모임 참여 후 HOST에게 참여 알림 전달을 확인 (목록에도 쌓였는지)
### 2-5-4. FOLLOWER1, FOLLOWER2 모임 참여 후 HOST에게 참여 알림 전달을 확인 (목록에도 쌓였는지)

Copilot uses AI. Check for mistakes.
Authorization: Bearer {{follower2AccessToken}}

### 6-1. HOST가 FOLLOWER1 kick (ATTEND -> KICKED)
POST http://localhost:8080/api/v2/groups/{{createdGroupId}}/attendance/{{follower2UserId}}/kick
Copy link

Copilot AI Jan 1, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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".

Suggested change
POST http://localhost:8080/api/v2/groups/{{createdGroupId}}/attendance/{{follower2UserId}}/kick
POST http://localhost:8080/api/v2/groups/{{createdGroupId}}/attendance/{{follower1UserId}}/kick

Copilot uses AI. Check for mistakes.
Comment on lines +197 to +213
### 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)
Copy link

Copilot AI Jan 1, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
### 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)

Copilot uses AI. Check for mistakes.
Comment on lines +230 to +246
### 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 알림 목록 조회 (목록에도 쌓였는지)
Copy link

Copilot AI Jan 1, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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).

Suggested change
### 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 알림 목록 조회 (목록에도 쌓였는지)

Copilot uses AI. Check for mistakes.
Comment on lines +218 to +220
### 7-1. 모임 추방 후 FOLLOWER1 unread-count (DB 기준으로도 증가했는지)
GET http://localhost:8080/api/v1/notifications/unread-count
Authorization: Bearer {{follower1AccessToken}}
Copy link

Copilot AI Jan 1, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
Comment on lines +197 to +209
### 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 알림 목록 조회 (목록에도 쌓였는지)
Copy link

Copilot AI Jan 1, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
### 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 알림 목록 조회 (목록에도 쌓였는지)

Copilot uses AI. Check for mistakes.
DELETE http://localhost:8080/api/v2/groups/{{createdGroupId}}
Authorization: Bearer {{hostAccessToken}}

### 9-2. 모임 승인 후 FOLLOWER1 unread-count (DB 기준으로도 증가했는지)
Copy link

Copilot AI Jan 1, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
### 9-2. 모임 승인 후 FOLLOWER1 unread-count (DB 기준으로도 증가했는지)
### 9-2. 모임 삭제 후 FOLLOWER1 unread-count (DB 기준으로도 증가했는지)

Copilot uses AI. Check for mistakes.
GET http://localhost:8080/api/v1/notifications
Authorization: Bearer {{follower1AccessToken}}

### 9-4. 모임 거절 후 FOLLOWER2 unread-count (DB 기준으로도 증가했는지)
Copy link

Copilot AI Jan 1, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
### 9-4. 모임 거절 후 FOLLOWER2 unread-count (DB 기준으로도 증가했는지)
### 9-4. 모임 삭제 후 FOLLOWER2 unread-count (DB 기준으로도 증가했는지)

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

✨enhancement New feature or request

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

[FEAT] 모임 알림 테스트

1 participant