blob: 987dc59259b2100462857497a612246ce1d3d818 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
// This is a basic Flutter widget test.
//
// To perform an interaction with a widget in your test, use the WidgetTester
// utility in the flutter_test package. For example, you can send tap and scroll
// gestures. You can also use WidgetTester to find child widgets in the widget
// tree, read text, and verify that the values of widget properties are correct.
import 'package:flutter/widgets.dart';
import 'package:uvok_epaper_badge/control/mock_scanner_controller.dart';
import 'package:uvok_epaper_badge/control/scanner_controller.dart';
import 'package:uvok_epaper_badge/widgets/badge_app.dart';
import 'package:flutter_test/flutter_test.dart';
void main() {
testWidgets('Ensure button scans', (WidgetTester tester) async {
// Build our app and trigger a frame.
MockScannerController msc = MockScannerController();
final events = <ScanStatus>[];
final sub = msc.statusStream.listen(events.add);
await tester.pumpWidget(BadgeApp(selectedScanner: msc));
await tester.pumpAndSettle();
final scanButton = find.textContaining("scan");
expect(scanButton, findsOneWidget);
await tester.tap(scanButton);
await tester.pump(Duration(seconds: 5));
expect(events[0], ScanStatus.idle);
expect(events[1], ScanStatus.scanning);
expect(events[2], ScanStatus.finished);
await msc.stopScan();
msc.dispose();
// sub.cancel();
// debugPrint("The test is nearly finished");
// await tester.pump(Duration(seconds: 2));
// debugPrint("The test is finished");
});
}
|