61 lines
1.8 KiB
Dart
61 lines
1.8 KiB
Dart
@TestOn('vm')
|
|
library;
|
|
|
|
import 'package:flutter/material.dart';
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:xworkmate/features/tasks/tasks_page.dart';
|
|
import 'package:xworkmate/models/app_models.dart';
|
|
|
|
import '../test_support.dart';
|
|
|
|
void main() {
|
|
testWidgets('TasksPage hides conversation shortcut by default', (
|
|
WidgetTester tester,
|
|
) async {
|
|
final controller = await createTestController(tester);
|
|
controller.navigateTo(WorkspaceDestination.tasks);
|
|
|
|
await pumpPage(
|
|
tester,
|
|
child: TasksPage(controller: controller, onOpenDetail: (_) {}),
|
|
);
|
|
|
|
expect(find.text('继续对话'), findsNothing);
|
|
expect(find.text('回到持续对话'), findsNothing);
|
|
expect(find.byIcon(Icons.refresh_rounded), findsWidgets);
|
|
});
|
|
|
|
testWidgets('TasksPage scheduled tab is read-only', (
|
|
WidgetTester tester,
|
|
) async {
|
|
final controller = await createTestController(tester);
|
|
controller.navigateTo(WorkspaceDestination.tasks);
|
|
|
|
await pumpPage(
|
|
tester,
|
|
child: TasksPage(controller: controller, onOpenDetail: (_) {}),
|
|
);
|
|
|
|
await tester.tap(find.text('计划中').first);
|
|
await tester.pumpAndSettle();
|
|
|
|
expect(find.text('计划任务只读'), findsOneWidget);
|
|
expect(find.text('当前没有计划任务。'), findsOneWidget);
|
|
});
|
|
|
|
testWidgets('TasksPage keeps list/detail workspace structure', (
|
|
WidgetTester tester,
|
|
) async {
|
|
final controller = await createTestController(tester);
|
|
controller.navigateTo(WorkspaceDestination.tasks);
|
|
|
|
await pumpPage(
|
|
tester,
|
|
child: TasksPage(controller: controller, onOpenDetail: (_) {}),
|
|
);
|
|
|
|
expect(find.text('任务列表'), findsOneWidget);
|
|
expect(find.text('选择左侧任务查看详情。'), findsOneWidget);
|
|
});
|
|
}
|