53 lines
1.9 KiB
Dart
53 lines
1.9 KiB
Dart
|
|
import 'package:flutter/material.dart';
|
|||
|
|
import 'package:flutter_test/flutter_test.dart';
|
|||
|
|
import 'package:meeyao_qianwen/app/app_theme.dart';
|
|||
|
|
import 'package:meeyao_qianwen/features/divination/data/models/divination_params.dart';
|
|||
|
|
import 'package:meeyao_qianwen/features/divination/data/services/divination_result_builder.dart';
|
|||
|
|
import 'package:meeyao_qianwen/features/divination/presentation/screens/divination_result_screen.dart';
|
|||
|
|
|
|||
|
|
void main() {
|
|||
|
|
testWidgets('result screen shows key sections', (tester) async {
|
|||
|
|
final params = DivinationMockData.initial().copyWith(
|
|||
|
|
method: DivinationMethod.auto,
|
|||
|
|
questionType: QuestionType.health,
|
|||
|
|
question: '近期状态是否平稳',
|
|||
|
|
);
|
|||
|
|
final data = DivinationResultBuilder().build(
|
|||
|
|
params: params,
|
|||
|
|
yaoStates: const [
|
|||
|
|
YaoType.oldYin,
|
|||
|
|
YaoType.youngYang,
|
|||
|
|
YaoType.youngYin,
|
|||
|
|
YaoType.oldYang,
|
|||
|
|
YaoType.youngYang,
|
|||
|
|
YaoType.oldYin,
|
|||
|
|
],
|
|||
|
|
);
|
|||
|
|
|
|||
|
|
await tester.pumpWidget(
|
|||
|
|
MaterialApp(
|
|||
|
|
theme: AppTheme.light(),
|
|||
|
|
home: DivinationResultScreen(data: data),
|
|||
|
|
),
|
|||
|
|
);
|
|||
|
|
await tester.pump();
|
|||
|
|
expect(find.text('天机推演中'), findsOneWidget);
|
|||
|
|
|
|||
|
|
await tester.pump(const Duration(milliseconds: 450));
|
|||
|
|
expect(find.text('正在解卦'), findsOneWidget);
|
|||
|
|
|
|||
|
|
await tester.pump(const Duration(milliseconds: 850));
|
|||
|
|
expect(find.text('解卦完成\n点击查看'), findsOneWidget);
|
|||
|
|
|
|||
|
|
expect(find.text('解卦结果'), findsOneWidget);
|
|||
|
|
expect(find.text('AI解卦'), findsOneWidget);
|
|||
|
|
expect(find.text('基础信息'), findsOneWidget);
|
|||
|
|
expect(find.text('卦象详情'), findsOneWidget);
|
|||
|
|
expect(find.text('解卦结论'), findsOneWidget);
|
|||
|
|
expect(find.text('○ 老阳(变)'), findsOneWidget);
|
|||
|
|
expect(find.text('× 老阴(变)'), findsOneWidget);
|
|||
|
|
expect(find.text('○'), findsWidgets);
|
|||
|
|
expect(find.text('×'), findsWidgets);
|
|||
|
|
});
|
|||
|
|
}
|