CPD/Pong/test/widget_test.dart

48 lines
1.6 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter/scheduler.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:pong/main.dart';
void main() {
// Widget test for the "Berühren um zu beginnen!" message
testWidgets('Tests "Berühren um zu beginnen!"', (WidgetTester tester) async {
final tapToStart = find.text("Berühren um zu beginnen!");
// Build the widget tree with StartScreen and pump the widget tree
await tester.pumpWidget(const MaterialApp(home: StartScreen()));
// Verify that the "Berühren um zu beginnen!" text is displayed
expect(tapToStart, findsOneWidget);
});
// Widget test for the "Punkte:" message in GameScreen
testWidgets('Tests "Punkte:"', (WidgetTester tester) async {
final points = find.text("Punkte: 0");
// Build the widget tree with GameScreen and pump the widget tree
await tester.pumpWidget(const MaterialApp(home: GameScreen()));
// Verify that the "Punkte: 0" text is displayed
expect(points, findsOneWidget);
});
// Widget test for the UI of StartScreen
testWidgets('StartScreen UI Test', (WidgetTester tester) async {
// Build our app and trigger a frame.
await tester.pumpWidget(const MaterialApp(
home: StartScreen(),
));
// Verify that the "Berühren um zu beginnen!" Text is displayed.
expect(find.text('Berühren um zu beginnen!'), findsOneWidget);
// Tap on the GestureDetector to navigate to GameScreen.
await tester.tap(find.byType(GestureDetector));
await tester.pump();
// Verify that the transition to GameScreen has occurred.
expect(find.byType(GameScreen), findsOneWidget);
});
}