백로그
0할 일
0진행 중
0리뷰
0완료 (전체)
1마이그레이션 + 모델 + 테스트 + fixtures 구현
## 작업 내용 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 검증 테스트