test(seed): 관리자 테스트 계정 추가 (admin@bibimbap.local)
기존 tester 계정은 USER 용으로 유지하고, admin@bibimbap.local / test1234! (role=ADMIN) 를 seed-dev.sql 에 추가. screenshot-guide.md 계정 표를 용도·role 포함 2행으로 확장. teardown 은 %@bibimbap.local 전체 삭제라 수정 불필요. Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0162BaZnrbiYgWc9JJMZ9Czb
This commit is contained in:
parent
aa55524191
commit
925eb73a62
|
|
@ -2,8 +2,10 @@
|
|||
-- bibimbap dev seed — 리뷰/댓글(W3-2) 기능 테스트용 더미 상황
|
||||
-- =============================================================================
|
||||
-- 목적: 새로 추가된 게임 리뷰/댓글 기능을 실제로 테스트할 수 있는 더미 데이터.
|
||||
-- 1) 로그인 가능한 테스트 계정 1개 (직접 로그인 → 리뷰/댓글 작성 테스트용)
|
||||
-- 2) 표시되는 더미 게임 1개 (테스트 계정 소유)
|
||||
-- 1) 로그인 가능한 테스트 계정 2개
|
||||
-- - tester@bibimbap.local (role=USER — 일반 사용자 기능 테스트용)
|
||||
-- - admin@bibimbap.local (role=ADMIN — 관리자 기능 테스트용)
|
||||
-- 2) 표시되는 더미 게임 1개 (tester 계정 소유)
|
||||
-- 3) 이미 등록된 더미 리뷰 5개 (각자 다른 더미 유저 — game당 user 1리뷰 제약 때문)
|
||||
-- + 보너스: 더미 댓글 3개
|
||||
--
|
||||
|
|
@ -14,7 +16,9 @@
|
|||
-- 적용 (호스트 psql, 포트 5433):
|
||||
-- PGPASSWORD=change_me_local_dev psql -h localhost -p 5433 -U bibimbap -d bibimbap -f db/seed-dev.sql
|
||||
--
|
||||
-- 로그인 자격: tester@bibimbap.local / test1234! (provider='email')
|
||||
-- 로그인 자격:
|
||||
-- tester@bibimbap.local / test1234! (role=USER, provider='email')
|
||||
-- admin@bibimbap.local / test1234! (role=ADMIN, provider='email')
|
||||
-- password_hash 는 UserController.hashPassword 와 동일 알고리즘으로 사전 생성:
|
||||
-- PBKDF2WithHmacSHA256 / 210000 iter / 256-bit key / 16-byte salt,
|
||||
-- 포맷 = pbkdf2_sha256$<iter>$<base64 salt>$<base64 hash>.
|
||||
|
|
@ -27,6 +31,7 @@ SET search_path TO dev;
|
|||
DO $$
|
||||
DECLARE
|
||||
v_tester_id bigint;
|
||||
v_admin_id bigint;
|
||||
v_game_id bigint;
|
||||
v_uid bigint;
|
||||
-- test1234! 의 사전 생성 해시 (위 알고리즘과 동일).
|
||||
|
|
@ -34,7 +39,7 @@ DECLARE
|
|||
r RECORD;
|
||||
BEGIN
|
||||
-- -------------------------------------------------------------------------
|
||||
-- 1) 로그인 테스트 계정 (users + email identity)
|
||||
-- 1a) 일반 사용자 테스트 계정 (role=USER)
|
||||
-- -------------------------------------------------------------------------
|
||||
SELECT id INTO v_tester_id
|
||||
FROM users
|
||||
|
|
@ -58,6 +63,35 @@ BEGIN
|
|||
(v_tester_id, 'email', 'tester@bibimbap.local', 'tester@bibimbap.local', c_pw_hash, '테스터');
|
||||
END IF;
|
||||
|
||||
-- -------------------------------------------------------------------------
|
||||
-- 1b) 관리자 테스트 계정 (role=ADMIN)
|
||||
-- -------------------------------------------------------------------------
|
||||
SELECT id INTO v_admin_id
|
||||
FROM users
|
||||
WHERE canonical_email = 'admin@bibimbap.local' AND is_delete IS NOT TRUE
|
||||
LIMIT 1;
|
||||
|
||||
IF v_admin_id IS NULL THEN
|
||||
INSERT INTO users (display_name, canonical_email, role, status)
|
||||
VALUES ('어드민', 'admin@bibimbap.local', 'ADMIN', 'ACTIVE')
|
||||
RETURNING id INTO v_admin_id;
|
||||
ELSE
|
||||
-- 기존 계정 role 이 ADMIN 이 아닌 경우 보정 (재실행 안전)
|
||||
UPDATE users SET role = 'ADMIN', permissions_epoch = permissions_epoch + 1
|
||||
WHERE id = v_admin_id AND role <> 'ADMIN';
|
||||
END IF;
|
||||
|
||||
IF NOT EXISTS (
|
||||
SELECT 1 FROM user_auth_identities
|
||||
WHERE provider = 'email' AND provider_user_id = 'admin@bibimbap.local'
|
||||
AND is_delete IS NOT TRUE
|
||||
) THEN
|
||||
INSERT INTO user_auth_identities
|
||||
(user_id, provider, provider_user_id, email, password_hash, display_name)
|
||||
VALUES
|
||||
(v_admin_id, 'email', 'admin@bibimbap.local', 'admin@bibimbap.local', c_pw_hash, '어드민');
|
||||
END IF;
|
||||
|
||||
-- -------------------------------------------------------------------------
|
||||
-- 2) 더미 게임 (테스트 계정 소유, 목록/상세에 표시되도록 visible)
|
||||
-- webgl_path / thumbnail_url 은 NULL — game-detail.jsp 가 빈 src 로 안전 처리.
|
||||
|
|
@ -146,7 +180,7 @@ BEGIN
|
|||
END IF;
|
||||
END LOOP;
|
||||
|
||||
RAISE NOTICE 'seed-dev 완료: tester_id=%, game_id=%', v_tester_id, v_game_id;
|
||||
RAISE NOTICE 'seed-dev 완료: tester_id=%, admin_id=%, game_id=%', v_tester_id, v_admin_id, v_game_id;
|
||||
END $$;
|
||||
|
||||
-- 적용 결과 확인용 요약 (psql 실행 시 출력).
|
||||
|
|
|
|||
|
|
@ -14,12 +14,12 @@ pip3 install playwright
|
|||
|
||||
## 테스트 계정
|
||||
|
||||
| 항목 | 값 |
|
||||
|---|---|
|
||||
| 이메일 | `tester@bibimbap.local` |
|
||||
| 비밀번호 | `test1234!` |
|
||||
| 용도 | 이메일 | 비밀번호 | role |
|
||||
|---|---|---|---|
|
||||
| 일반 사용자 | `tester@bibimbap.local` | `test1234!` | USER |
|
||||
| 관리자 | `admin@bibimbap.local` | `test1234!` | ADMIN |
|
||||
|
||||
seed: `db/seed-dev.sql` (tester = user3)
|
||||
seed: `db/seed-dev.sql`
|
||||
|
||||
## 실행
|
||||
|
||||
|
|
@ -34,8 +34,13 @@ python3 docs/development/screenshot-guide.py
|
|||
### 전체 캡처 (로그인 포함 세부 화면)
|
||||
|
||||
```bash
|
||||
# 일반 사용자로 캡처
|
||||
SCREENSHOT_EMAIL=tester@bibimbap.local SCREENSHOT_PASSWORD='test1234!' \
|
||||
python3 docs/development/screenshot-guide.py
|
||||
|
||||
# 관리자로 캡처 (관리자 전용 UI 확인 시)
|
||||
SCREENSHOT_EMAIL=admin@bibimbap.local SCREENSHOT_PASSWORD='test1234!' \
|
||||
python3 docs/development/screenshot-guide.py
|
||||
```
|
||||
|
||||
추가 7장 캡처:
|
||||
|
|
|
|||
Loading…
Reference in New Issue