마이그레이션 + 모델 + 테스트 + fixtures 구현
ID: bacee794-3650-4f81-81c5-7c8cd5214925
## 작업 내용
ViewGroup + ViewGroupMember의 마이그레이션, 모델, 테스트, fixtures를 TDD로 구현합니다.
## DB 설계
### view_groups
- id: uuid (PK)
- name: string, null: false, max 50자
- invite_code: string, unique, null: false (SecureRandom.alphanumeric(8).upcase)
- user_id: uuid, FK(users), null: false (소유자)
- created_at, updated_at
### view_group_members
- id: uuid (PK)
- view_group_id: uuid, FK(view_groups), null: false
- user_id: uuid, FK(users), null: false
- diagnosis_session_id: uuid, FK(diagnosis_sessions), null: false
- created_at, updated_at
- unique index: [view_group_id, user_id]
## 모델 규칙
- ViewGroup: belongs_to :user (소유자), has_many :view_group_members, dependent: :destroy
- ViewGroupMember: belongs_to :view_group, belongs_to :user, belongs_to :diagnosis_session
- invite_code는 생성 시 자동 발급 (before_create)
- 소유자는 view_group_members에 포함하지 않음 (별도 user_id로 관리)
- diagnosis_session은 report_purchased: true인 것만 연결 가능 (커스텀 유효성 검증)
## 완료 기준
- [ ] 마이그레이션 migrate/rollback/migrate 성공
- [ ] 모델 테스트 통과 (유효성, 연관관계, invite_code 고유성)
- [ ] fixtures 생성 (view_groups.yml, view_group_members.yml)
- [ ] diagnosis_session report_purchased 검증 테스트
첨부 이미지
이미지 추가 (Ctrl+V로 붙여넣기 또는 클릭)
JPEG, PNG, GIF, WebP / 최대 10MB
활동 로그
-
팀팀리드 상태 변경: 할 일 → 완료
2026년 03월 17일 06:49:17