[크레딧통합 PR2] UserCredit + CreditTransaction 모델 통합
ID: 5123232e-63a5-4d52-96e1-c46f7b40d4b8
## 설명
UserCredit 모델에서 diagnosis_balance 관련 메서드를 모두 제거하고 단일 크레딧 체계로 통합합니다.
### 변경 내용
- `UserCredit`: diagnosis_sufficient?, deduct_diagnosis!, add_diagnosis! 제거
- `UserCredit`: sufficient?, deduct!, add! — decimal 호환으로 변경, credit_type "unified" 사용
- `CreditTransaction`: credit_type 유효값에 "unified" 추가
- `DiagnosisType`: `requires_diagnosis_credit?` → `credit_cost` 메서드로 변경
- strength 카테고리: nil (리포트 구매로 별도 처리)
- big5/happiness/growth_mindset: 0.2
### TDD 순서
1. RED: 기존 테스트를 통합 크레딧 기준으로 수정 + 0.2 단위 차감 테스트
2. GREEN: 모델 수정
3. REFACTOR: 불필요 메서드 정리
## 완료 기준
- [ ] `credit.deduct!(0.2, ...)` 정상 동작
- [ ] `credit.sufficient?(0.2)` 정상 동작
- [ ] diagnosis 관련 메서드 제거됨 (NoMethodError)
- [ ] CreditTransaction credit_type "unified" 지원
- [ ] DiagnosisType#credit_cost 동작
- [ ] 모델 테스트 100% 통과
## 의존성
PR1 (DB 마이그레이션) 완료 후
## 관련 파일
- `app/models/user_credit.rb`
- `app/models/credit_transaction.rb`
- `app/models/diagnosis_type.rb`
- `test/models/user_credit_test.rb`
- `test/fixtures/user_credits.yml`
첨부 이미지
이미지 추가 (Ctrl+V로 붙여넣기 또는 클릭)
JPEG, PNG, GIF, WebP / 최대 10MB
활동 로그
-
팀팀리드 상태 변경: 진행 중 → 리뷰
2026년 03월 30일 11:53:59
-
팀팀리드 티켓 클레임 완료
2026년 03월 30일 11:53:50
-
팀팀리드 상태 변경: 할 일 → 백로그
2026년 03월 30일 11:35:35