퀘스트 일시 정지 · 이어하기 · 진행 상태 서버 저장 · 목록 보상받기
This commit is contained in:
@@ -1784,3 +1784,24 @@ describe('성운 일 1회 기록 — GALAXY 「성운 생성」 버튼(Figma 540
|
||||
await assertFails(setDoc(doc(dbFor('alice'), 'users/alice/nebulaCreates/2026-10-08'), { fandomId: 'f2' }));
|
||||
});
|
||||
});
|
||||
|
||||
describe('Quest 진행 세션 — 일시 정지 · 진행완료(원장 C-83 · fn-quest-progress 전용)', () => {
|
||||
test('본인도 진행 세션을 직접 쓰거나 지울 수 없다 — 함수로만', async () => {
|
||||
await seedDocuments(testEnvironment, {
|
||||
'users/alice/questProgress/shake': { session: { state: 'paused', progress: 43, total: 60 } },
|
||||
});
|
||||
const db = dbFor('alice');
|
||||
await assertFails(setDoc(doc(db, 'users/alice/questProgress/shake'), { session: { state: 'completed' } }, { merge: true }));
|
||||
await assertFails(setDoc(doc(db, 'users/alice/questProgress/new'), { session: { state: 'completed', judgement: { perfect: 60 } } }));
|
||||
await assertFails(deleteDoc(doc(db, 'users/alice/questProgress/shake')));
|
||||
});
|
||||
|
||||
test('본인은 일시 정지 Quest 를 조회할 수 있고(탭 위 캡슐) 다른 사용자는 못 본다', async () => {
|
||||
await seedDocuments(testEnvironment, {
|
||||
'users/alice/questProgress/shake': { session: { state: 'paused', progress: 43, total: 60 } },
|
||||
});
|
||||
const paused = (db) => getDocs(query(collection(db, 'users/alice/questProgress'), where('session.state', '==', 'paused')));
|
||||
await assertSucceeds(paused(dbFor('alice')));
|
||||
await assertFails(paused(dbFor('bob')));
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user