forked from BasedHardware/omi
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfirmware_mixin_dat_guard_test.dart
More file actions
36 lines (29 loc) · 1.3 KB
/
Copy pathfirmware_mixin_dat_guard_test.dart
File metadata and controls
36 lines (29 loc) · 1.3 KB
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
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:omi/backend/schema/bt_device/bt_device.dart';
import 'package:omi/pages/home/firmware_mixin.dart';
import 'package:omi/utils/firmware_update_build_policy.dart';
void main() {
testWidgets('DAT build exits every Omi DFU entry point before native plugin use', (tester) async {
final key = GlobalKey<_FirmwareHarnessState>();
await tester.pumpWidget(MaterialApp(home: _FirmwareHarness(key: key)));
final state = key.currentState!;
final device = BtDevice.empty();
expect(state.managerFactory, isNull);
await expectLater(state.startDfu(device), completes);
await expectLater(state.startMCUDfu(device), completes);
await expectLater(state.startLegacyDfu(device), completes);
expect(state.isInstalling, isFalse);
});
}
class _FirmwareHarness extends StatefulWidget {
const _FirmwareHarness({super.key});
@override
State<_FirmwareHarness> createState() => _FirmwareHarnessState();
}
class _FirmwareHarnessState extends State<_FirmwareHarness> with FirmwareMixin<_FirmwareHarness> {
@override
FirmwareUpdateBuildPolicy get firmwareUpdatePolicy => const FirmwareUpdateBuildPolicy(rayBanDat: true);
@override
Widget build(BuildContext context) => const SizedBox.shrink();
}