Admin Products 통합 테스트 구현
ID: 64f974e2-1293-43f9-8b67-199acc5cf710
Admin Products 통합 테스트 작성
## 생성/수정할 파일
- test/integration/admin/products_test.rb: 새 파일 생성
- test/fixtures/products.yml: 기존 fixtures 확인 및 보완
- test/fixtures/product_prices.yml: 기존 fixtures 확인 및 보완
## 테스트 요구사항 (Minitest)
### 인증/권한 테스트
- 비로그인 사용자 접근 시 로그인 페이지로 리다이렉트
- 일반 사용자 접근 시 접근 거부
- admin 사용자만 접근 가능
### index 테스트
- 상품 목록 표시
- name 검색 (q 파라미터)
- product_type 필터
- active 필터
- 정렬 (sort/direction 파라미터)
### CRUD 테스트
- new: 새 상품 폼 렌더링
- create: 유효한 파라미터로 상품 생성
- create: 무효한 파라미터(slug 중복 등)로 실패
- show: 상품 상세 + product_prices 표시
- edit: 편집 폼 렌더링
- update: 상품 정보 수정
- update: product_prices 추가/수정/삭제
### toggle_active 테스트
- 활성 → 비활성 토글
- 비활성 → 활성 토글
## 테스트 패턴
- 기존 test/integration/admin/workspaces_test.rb 패턴 참고
- sign_in_as(users(:admin_user)) 사용
- assert_response, assert_redirected_to, assert_difference 활용
- fixtures 기반 테스트 데이터
## 완료 기준
- bin/rails test test/integration/admin/products_test.rb 통과
- 모든 CRUD + 필터 + 권한 테스트 커버
첨부 이미지
이미지 추가 (Ctrl+V로 붙여넣기 또는 클릭)
JPEG, PNG, GIF, WebP / 최대 10MB
활동 로그
-
팀팀리드 상태 변경: 리뷰 → 완료
2026년 02월 28일 07:39:32
-
Ttester 상태 변경: 할 일 → 리뷰
2026년 02월 28일 07:38:52
-
Ttester Admin Products 통합 테스트 구현 완료, 25개 테스트 전체 통과
2026년 02월 28일 07:38:51
상세 보기
## 작업 내용
### Fixtures 보완
- `test/fixtures/products.yml`: `credit_pack_10` (크레딧팩, active), `inactive_product` (비활성 리포트) 추가
- `test/fixtures/product_prices.yml`: `credit_pack_10_krw` 추가### 통합 테스트 작성 (25개)
파일: `test/integration/admin/products_test.rb`**인증/권한 (3개)**
- 비인증 사용자 → session/new 리다이렉트
- 일반 사용자 → root_path 리다이렉트
- admin 사용자 → 접근 성공**Index (8개)**
- 목록 표시, name 검색(q 파라미터)
- product_type 필터 (report/credit_pack)
- active 필터 (true/false)
- 정렬 (name asc/created_at desc)
- 복합 검색+필터**CRUD (8개)**
- show: 상세 표시, product_prices 테이블
- new: 폼 렌더링
- create: 성공, slug 중복 실패, 필수값 누락 실패
- edit: 폼 렌더링
- update: 성공, 실패, nested product_prices**Toggle Active (2개)**
- active → inactive
- inactive → active### 결과
- 25 runs, 64 assertions, **0 failures, 0 errors**