38 lines
1.1 KiB
Dart
38 lines
1.1 KiB
Dart
import 'package:fancake/features/quest/quest_data.dart';
|
|
import 'package:fancake/features/quest/widgets/quest_card_tile.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
|
|
/// 10/6 실기기 4-2 — 「내 퀘스트」 카드가 검수 중 · 반려를 공개된 것과 구분한다.
|
|
void main() {
|
|
QuestCard mine(String state) => QuestCard(
|
|
id: 'q',
|
|
title: '걷기',
|
|
categoryName: '건강',
|
|
author: QuestAuthor.user,
|
|
stage: QuestStage.mine,
|
|
goal: 1000,
|
|
progress: 0,
|
|
rewardPop: 10,
|
|
participants: 0,
|
|
publishState: state,
|
|
);
|
|
|
|
Future<void> pump(WidgetTester t, QuestCard card) => t.pumpWidget(
|
|
MaterialApp(
|
|
home: Scaffold(
|
|
body: QuestCardTile(card: card, onOpen: () {}, onAction: () {}),
|
|
),
|
|
),
|
|
);
|
|
|
|
testWidgets('검수 중 · 반려 · 공개', (t) async {
|
|
await pump(t, mine('review'));
|
|
expect(find.text('검토 중'), findsOneWidget);
|
|
await pump(t, mine('rejected'));
|
|
expect(find.text('반려됨'), findsOneWidget);
|
|
await pump(t, mine('published'));
|
|
expect(find.text(QuestStage.mine.buttonLabel), findsOneWidget);
|
|
});
|
|
}
|