69b34bd723
- 后端 ProfileSettingsV1 添加 DivinationTutorialSettings 字段 - 前端三个起卦页面添加首次访问检测,自动弹出教程 - 教程展示后更新 settings 标记,避免重复弹出 - 使用本地状态管理避免并发更新覆盖问题 - Agent 系统提示添加时间上下文信息
58 lines
2.2 KiB
Dart
58 lines
2.2 KiB
Dart
import 'package:flutter/material.dart';
|
||
import 'package:flutter_localizations/flutter_localizations.dart';
|
||
import 'package:flutter_test/flutter_test.dart';
|
||
import 'package:meeyao_qianwen/app/app_theme.dart';
|
||
import 'package:meeyao_qianwen/data/network/api_client.dart';
|
||
import 'package:meeyao_qianwen/features/divination/data/apis/divination_api.dart';
|
||
import 'package:meeyao_qianwen/features/divination/data/models/divination_params.dart';
|
||
import 'package:meeyao_qianwen/features/divination/data/services/divination_run_service.dart';
|
||
import 'package:meeyao_qianwen/features/divination/presentation/screens/manual_divination_screen.dart';
|
||
import 'package:meeyao_qianwen/features/settings/data/models/profile_settings.dart';
|
||
import 'package:meeyao_qianwen/l10n/app_localizations.dart';
|
||
|
||
void main() {
|
||
testWidgets('manual screen shows yao legend', (tester) async {
|
||
final params = DivinationParams(
|
||
method: DivinationMethod.manual,
|
||
questionType: QuestionType.career,
|
||
question: '测试问题',
|
||
divinationTime: DateTime(2026, 4, 3, 20, 30),
|
||
coinBalance: 9,
|
||
userId: 'user_test',
|
||
);
|
||
final runService = DivinationRunService(
|
||
api: DivinationApi(
|
||
apiClient: ApiClient(baseUrl: 'http://localhost:5775'),
|
||
),
|
||
);
|
||
final profileSettings = ProfileSettingsV1.defaultsForLocale(
|
||
const Locale('zh'),
|
||
);
|
||
|
||
await tester.pumpWidget(
|
||
MaterialApp(
|
||
theme: AppTheme.light(),
|
||
localizationsDelegates: const [
|
||
AppLocalizations.delegate,
|
||
GlobalMaterialLocalizations.delegate,
|
||
GlobalWidgetsLocalizations.delegate,
|
||
GlobalCupertinoLocalizations.delegate,
|
||
],
|
||
supportedLocales: AppLocalizations.supportedLocales,
|
||
home: ManualDivinationScreen(
|
||
params: params,
|
||
runService: runService,
|
||
onCompleted: (_) async {},
|
||
profileSettings: profileSettings,
|
||
onProfileSettingsChanged: (_) async {},
|
||
),
|
||
),
|
||
);
|
||
|
||
expect(find.text('○ 老阳(变)'), findsOneWidget);
|
||
expect(find.text('× 老阴(变)'), findsOneWidget);
|
||
expect(find.text('初爻'), findsOneWidget);
|
||
expect(find.text('上爻'), findsOneWidget);
|
||
});
|
||
}
|