add some props an features
This commit is contained in:
@@ -16,6 +16,7 @@ import 'package:ertl_filament_verwaltung/services/bauteil_photo_service.dart';
|
||||
import 'package:ertl_filament_verwaltung/services/get_storage_services.dart';
|
||||
import 'package:ertl_filament_verwaltung/theme/app_theme.dart';
|
||||
import 'package:ertl_filament_verwaltung/widgets/bauteil_card.dart';
|
||||
import 'package:ertl_filament_verwaltung/widgets/bauteil_filament_auswahl.dart';
|
||||
import 'package:ertl_filament_verwaltung/widgets/bauteil_photo.dart';
|
||||
|
||||
import 'helpers/memory_storage_service.dart';
|
||||
@@ -123,6 +124,53 @@ void main() {
|
||||
home.filamente.firstWhere((item) => item.filamentId == id),
|
||||
)!;
|
||||
|
||||
testWidgets('Dropdown adds only selected filaments and supports removal', (
|
||||
tester,
|
||||
) async {
|
||||
await tester.pumpWidget(
|
||||
GetMaterialApp(
|
||||
theme: AppTheme.light,
|
||||
home: Scaffold(
|
||||
body: SingleChildScrollView(
|
||||
child: BauteilFilamentAuswahl(controller: controller),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
expect(find.byKey(const ValueKey('filament-a')), findsNothing);
|
||||
expect(find.byKey(const ValueKey('filament-b')), findsNothing);
|
||||
|
||||
Future<void> add(String id) async {
|
||||
await tester.tap(find.byType(DropdownButtonFormField<String>));
|
||||
await tester.pumpAndSettle();
|
||||
await tester.tap(find.text(controller.filamentLabel(id)).last);
|
||||
await tester.pumpAndSettle();
|
||||
}
|
||||
|
||||
await add('a');
|
||||
controller.verbrauchController('a').text = '25';
|
||||
expect(find.byKey(const ValueKey('filament-a')), findsOneWidget);
|
||||
expect(find.byKey(const ValueKey('filament-b')), findsNothing);
|
||||
expect(controller.selectedFilamente.keys, ['a']);
|
||||
|
||||
await add('b');
|
||||
expect(find.byType(DropdownButtonFormField<String>), findsNothing);
|
||||
expect(find.byKey(const ValueKey('filament-b')), findsOneWidget);
|
||||
await tester.tap(find.byTooltip('Filament entfernen').first);
|
||||
await tester.pumpAndSettle();
|
||||
expect(find.byKey(const ValueKey('filament-a')), findsNothing);
|
||||
expect(controller.selectedFilamente.keys, ['b']);
|
||||
|
||||
await add('a');
|
||||
expect(controller.verbrauchController('a').text, '25');
|
||||
controller.resetForm();
|
||||
await tester.pumpAndSettle();
|
||||
expect(find.byKey(const ValueKey('filament-a')), findsNothing);
|
||||
expect(find.byKey(const ValueKey('filament-b')), findsNothing);
|
||||
expect(find.byType(DropdownButtonFormField<String>), findsOneWidget);
|
||||
expect(tester.takeException(), isNull);
|
||||
});
|
||||
|
||||
test(
|
||||
'Legacy records retain unknown usage and old weight units are supported',
|
||||
() {
|
||||
|
||||
Reference in New Issue
Block a user