사용자 화면 문구·표본 데이터 · 퀘스트 참여 흐름 · HOME 진입 구획 · 미니맵 · 공통 확인 창 배치 수정
This commit is contained in:
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user