Files
korken_mosaic/test/widget_test.dart

36 lines
1.2 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:korken_mosaic/main.dart';
void main() {
testWidgets('stepper blocks forward navigation without image and shows hint',
(WidgetTester tester) async {
await tester.pumpWidget(const KorkenMosaicApp());
expect(find.text('1) Bild'), findsOneWidget);
expect(find.text('2) Größe'), findsOneWidget);
expect(find.text('3) Farben'), findsOneWidget);
expect(find.text('4) Ergebnis'), findsOneWidget);
await tester.tap(find.text('Weiter'));
await tester.pump();
// Stays on step 1 because no source image is available yet.
expect(find.text('Import target image'), findsOneWidget);
expect(find.text('Bitte zuerst ein Bild auswählen.'), findsOneWidget);
});
testWidgets('generate actions are disabled without image',
(WidgetTester tester) async {
await tester.pumpWidget(const KorkenMosaicApp());
final fab = tester.widget<FloatingActionButton>(
find.byType(FloatingActionButton),
);
expect(fab.onPressed, isNull);
// Result-step action is not reachable before image selection.
expect(find.byKey(const Key('generate-btn')), findsNothing);
});
}