修复工作人员作业预检状态与提示
This commit is contained in:
@@ -51,6 +51,26 @@ class _FailOnceRepository extends ServiceRepository {
|
||||
}
|
||||
}
|
||||
|
||||
/// 返回包含一个真实阻断项和一个暂不检查项的固定预检结果。
|
||||
class _BlockedRepository extends ServiceRepository {
|
||||
_BlockedRepository()
|
||||
: super(
|
||||
ApiClient(() => '', baseUrl: 'https://api.example.com'),
|
||||
_UnusedLocationService(),
|
||||
);
|
||||
|
||||
@override
|
||||
Future<PreflightResult> preflight() async => const PreflightResult(
|
||||
roleCode: 'delivery',
|
||||
workStatus: 'on_duty',
|
||||
canWork: false,
|
||||
checks: {
|
||||
'credential': {'status': 'blocked', 'reason': 'missing'},
|
||||
'daily_training': {'status': 'not_configured'},
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
/// 点击重新加载后应成功刷新,且测试过程不得出现 Flutter 断言。
|
||||
void main() {
|
||||
testWidgets('作业检查失败后可重新加载', (tester) async {
|
||||
@@ -74,4 +94,21 @@ void main() {
|
||||
expect(repository.calls, 2);
|
||||
expect(tester.takeException(), isNull);
|
||||
});
|
||||
|
||||
testWidgets('仅统计阻断项并显示资质处理指引', (tester) async {
|
||||
await tester.pumpWidget(
|
||||
MaterialApp(
|
||||
home: PreflightPage(
|
||||
session: StaffSession(_EmptySessionStore()),
|
||||
repository: _BlockedRepository(),
|
||||
),
|
||||
),
|
||||
);
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
expect(find.text('完成 1 项阻断后可进入'), findsOneWidget);
|
||||
expect(find.text('暂不检查'), findsOneWidget);
|
||||
expect(find.text('尚未配置有效资质,请联系所属组织管理员补充或审核'), findsOneWidget);
|
||||
expect(find.text('下班打卡'), findsOneWidget);
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user