Files
biz_xfj_cloud/test/pages/root/load_view_test.dart
T
2026-08-31 15:09:38 +08:00

54 lines
1.7 KiB
Dart

import 'package:ducafe_ui_core/ducafe_ui_core.dart';
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:forui/forui.dart';
import 'package:get/get.dart';
import 'package:pj_supermarket_cloud/common/index.dart';
import 'package:pj_supermarket_cloud/pages/root/load/controller.dart';
import 'package:pj_supermarket_cloud/pages/root/load/view.dart';
void main() {
testWidgets('启动步骤在紧凑窗口中可滚动且不会垂直溢出', (tester) async {
// 与问题日志中的 1280×720 运行窗口一致,此时步骤区只有约 264px 高。
await tester.binding.setSurfaceSize(const Size(1280, 720));
addTearDown(() async {
await tester.binding.setSurfaceSize(null);
Get.reset();
});
Get.put<LoadController>(_TestLoadController(AppControl()));
await tester.pumpWidget(
ScreenUtilInit(
designSize: const Size(1920, 1080),
minTextAdapt: true,
splitScreenMode: true,
builder: (_, __) => MaterialApp(
home: FTheme(
data: FThemes.zinc.light,
child: const LoadPage(),
),
),
),
);
await tester.pump();
expect(find.byType(ListView), findsOneWidget);
expect(find.text('加载终端配置'), findsOneWidget);
final scrollable = tester.state<ScrollableState>(find.byType(Scrollable));
expect(scrollable.position.maxScrollExtent, greaterThan(0));
expect(tester.takeException(), isNull);
});
}
class _TestLoadController extends LoadController {
_TestLoadController(AppControl appControl) : super(appControl: appControl);
@override
void onReady() {}
@override
Future<void> retry() async {}
}