mirror of
https://github.com/vodemn/m3_lightmeter.git
synced 2025-08-26 15:06:43 +00:00
cover cascade deletion
This commit is contained in:
parent
357ee76937
commit
b93c8ff77b
1 changed files with 32 additions and 1 deletions
|
@ -3,6 +3,8 @@ import 'package:flutter_test/flutter_test.dart';
|
|||
import 'package:lightmeter/data/models/ev_source_type.dart';
|
||||
import 'package:lightmeter/data/shared_prefs_service.dart';
|
||||
import 'package:lightmeter/generated/l10n.dart';
|
||||
import 'package:lightmeter/res/dimens.dart';
|
||||
import 'package:lightmeter/screens/logbook_photo_edit/components/picker_list_tile/widget_list_tile_picker.dart';
|
||||
import 'package:lightmeter/screens/logbook_photo_edit/screen_logbook_photo_edit.dart';
|
||||
import 'package:lightmeter/screens/logbook_photos/components/grid_tile/widget_grid_tile_logbook_photo.dart';
|
||||
import 'package:lightmeter/screens/settings/components/shared/dialog_picker/widget_dialog_picker.dart';
|
||||
|
@ -61,7 +63,15 @@ void testLogbook(String description) {
|
|||
await tester.pumpAndSettle();
|
||||
await tester.openPickerAndSelect<ApertureValue>(S.current.apertureValue, 'f/5.6');
|
||||
await tester.openPickerAndSelect<ShutterSpeedValue>(S.current.shutterSpeedValue, '1/125');
|
||||
await tester.openPickerAndSelect<EquipmentProfile>(S.current.equipmentProfile, S.current.notSet);
|
||||
expect(
|
||||
find.descendant(
|
||||
of: find.byWidgetPredicate(
|
||||
(widget) => widget is PickerListTile && widget.title == S.current.equipmentProfile,
|
||||
),
|
||||
matching: find.text(mockEquipmentProfiles.first.name),
|
||||
),
|
||||
findsOneWidget,
|
||||
);
|
||||
await tester.openPickerAndSelect<Film>(S.current.film, S.current.notSet);
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
|
@ -82,11 +92,32 @@ void testLogbook(String description) {
|
|||
/// Verify that only one photo is present
|
||||
expect(find.byType(LogbookPhotoGridTile), findsOneWidget);
|
||||
|
||||
/// Got back and delete the equipment profile used to take the first picture
|
||||
await tester.navigatorPop();
|
||||
await tester.tapDescendantTextOf<SettingsScreen>(S.current.equipmentProfiles);
|
||||
await tester.tap(find.byIcon(Icons.edit_outlined).first);
|
||||
await tester.pumpAndSettle();
|
||||
await tester.tap(find.byIcon(Icons.delete_outlined));
|
||||
await tester.pumpAndSettle(Dimens.durationML);
|
||||
expect(find.text(mockEquipmentProfiles[0].name), findsNothing);
|
||||
expect(find.text(mockEquipmentProfiles[1].name), findsOneWidget);
|
||||
await tester.navigatorPop();
|
||||
|
||||
/// Open photo again
|
||||
await tester.tapDescendantTextOf<SettingsScreen>(S.current.logbook);
|
||||
await tester.tap(find.byType(LogbookPhotoGridTile).first);
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
/// Verify the edits were saved
|
||||
expect(
|
||||
find.descendant(
|
||||
of: find.byWidgetPredicate(
|
||||
(widget) => widget is PickerListTile && widget.title == S.current.equipmentProfile,
|
||||
),
|
||||
matching: find.text(S.current.notSet),
|
||||
),
|
||||
findsOneWidget,
|
||||
);
|
||||
expect(find.text('Test note'), findsOneWidget);
|
||||
expect(find.text('f/5.6'), findsOneWidget);
|
||||
expect(find.text('1/125'), findsOneWidget);
|
||||
|
|
Loading…
Reference in a new issue