사용자 화면 문구·표본 데이터 · 퀘스트 참여 흐름 · HOME 진입 구획 · 미니맵 · 공통 확인 창 배치 수정

This commit is contained in:
Sn-Kinos
2026-10-05 00:44:39 +09:00
parent c8d29d032b
commit 8a0297eb92
66 changed files with 1812 additions and 959 deletions
+20
View File
@@ -96,6 +96,26 @@ void main() {
});
group('퀘스트 목록 — Firestore 구현', () {
test('UGC 퀘스트의 제출 건 조회가 거부돼도 목록 전체는 뜬다 (2026-10-04 실기기)', () async {
// 제출 건 읽기를 막은 규칙 — 배포 전 규칙에서 없는 문서 get 이 permission-denied 였다.
final db = FakeFirebaseFirestore(securityRules: '''
service cloud.firestore {
match /databases/{database}/documents {
match /quests/{id} { allow read, write: if true; }
match /config/{id} { allow read, write: if true; }
match /users/{document=**} { allow read, write: if true; }
}
}''');
await db.doc('quests/attend').set({'type': 'attend', 'title': '출석', 'dailyLimit': 1});
await db.doc('quests/ugc').set({
'type': 'community', 'title': '내가 만든 퀘스트', 'authorUid': 'someone',
'status': 'published', 'goal': 1,
});
final cards = await FirestoreQuestRepository(_RecordingBackend(db)).load();
expect(cards.map((c) => c.id).toSet(), {'attend', 'ugc'});
expect(_card(cards, 'ugc').stage, QuestStage.notStarted);
});
test('정의 문서를 카드로 옮기고 유형을 별칭까지 읽는다', () async {
final db = await _seed();
final cards = await FirestoreQuestRepository(