已完成用户APP首期功能开发

交付用户端首期页面、配套接口、后台资源及测试文档。用户APP构建、静态分析和三个管理后台构建通过;完整测试仍有2项失败,后端模型注释检查未通过,详见交付记录。
This commit is contained in:
czl231
2026-09-13 00:57:32 +08:00
parent a0a4bb1218
commit 3ef33b531d
793 changed files with 40959 additions and 1204 deletions

View File

@@ -0,0 +1,34 @@
// 功能验证首期缺项与明确二期入口的不同提示以及已开放入口行为版本1.0.0。
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:user_app/ui/core/feature_entry.dart';
void main() {
testWidgets('未指定阶段的缺项保留入口并提示暂未开放', (tester) async {
await tester.pumpWidget(const MaterialApp(home: Scaffold(body:
FeatureEntry(icon: Icons.devices, label: '设备测试'))));
expect(find.text('暂未开放'), findsOneWidget);
expect(find.text('即将开放'), findsNothing);
await tester.tap(find.text('设备测试'));
await tester.pumpAndSettle();
expect(find.text(UnavailableStage.firstPhase.message), findsOneWidget);
});
testWidgets('明确二期显示即将开放而已开放功能继续执行', (tester) async {
await tester.pumpWidget(const MaterialApp(home: Scaffold(body:
FeatureEntry(icon: Icons.devices, label: '二期测试', stage: UnavailableStage.secondPhase))));
expect(find.text('即将开放'), findsOneWidget);
await tester.tap(find.text('二期测试'));
await tester.pumpAndSettle();
expect(find.text(UnavailableStage.secondPhase.message), findsOneWidget);
await tester.tap(find.text('知道了'));
await tester.pumpAndSettle();
var invoked = false;
await tester.pumpWidget(MaterialApp(home: Scaffold(body:
FeatureEntry(icon: Icons.devices, label: '可用测试', onTap: () => invoked = true))));
await tester.pumpAndSettle();
expect(find.text('暂未开放'), findsNothing);
await tester.tap(find.text('可用测试'));
expect(invoked, isTrue);
});
}