# 어제 무엇을 했나요?
- 1. 코딩테스트
- 2. 개인 프로젝트 모델확정 및 프로젝트 세팅
# 오늘은 무엇을 할 것인가요?
- 1. 장르 선택 api 구현
# 진행하는데 어려운 부분(도움이 필요한 부분)이 있나요?
오늘 학습 내용 ✅
- 원래 오늘부터 개인프로젝트 위주로 하려했지만 팀원의 토스로 인한 합동프로젝트를 이어갑니다.
genre
preference
- 신규가입한 유저에게 장르 데이터 전체를 보여주고
- 선호하는 장르를 선택 받아서 preference DB에 넣는다.
- 선호장르에 대한 추천을 진행할 때 저장된 user_id를 기준으로 장르들을 가져와서
구현 목표
- 클라이언트에게 선택된 장르데이터를 선호 테이블에 저장한다.
등록api 구현 완료

ai로 성향 분석하기
목표
- 사용자가 선택한 선호 태그 / 장르들을 선택하면 그 값들을 ai에게 던져주어 성향을 10자내로 뱉어낸다.

새롭게 알게된 내용 ✅
오늘 발생한 문제(발생 했다면) ✅
[ 🔴 문제: ]
테스트(`manage.py test`) 실행 시 속도가 비정상적으로 느리고, `E`(Error)가 다수 발생함.
로그에 `[Signal] Triggering AI Summary...`가 반복적으로 찍히며, 실제 외부 API 호출 시도로 인한 지연 및 연결 에러가 발생하고 있음.
[ 🟡 원인: ]
**테스트 환경에서도 `Review` 모델의 `post_save` 시그널이 차단되지 않고 동작하기 때문.**
1. 다른 앱(Community, Game 등)의 테스트 코드에서 테스트용 `Review` 데이터를 생성(`create`).
2. `ai/signals.py`의 `trigger_ai_summary` 시그널이 이를 감지하여 즉시 실행됨.
3. 시그널 내부에서 Celery Task(`run_ai_summary`)를 호출하고, 이것이 실제 **Google Gemini API**에 요청을 보냄.
4. 테스트 중에는 API 키가 없거나 네트워크 요청이 동기적으로 처리되면서 타임아웃 또는 에러가 발생하여 테스트 전체가 느려짐.
[ 🔵 해결: ]
**테스트 실행 시에는 해당 시그널이 동작하지 않도록 전역 설정을 추가하여 차단함.**
**Step 1. `ai/signals.py` 파일 수정**
(설정값 확인 후 중단하는 코드 추가)
# ai/signals.py
@receiver(post_save, sender=Review)
def trigger_ai_summary(sender, instance, created, **kwargs):
# [추가됨] 테스트 환경(설정값이 True)이면 로직 실행 중단
if getattr(settings, "DISABLE_AI_SUMMARY_SIGNAL", False):
return