import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:werwolf/models/player.dart'; import 'package:werwolf/models/role.dart'; import 'package:werwolf/screens/gameboard.dart'; void main() { group('PlayerGridView Tests', () { List players = [ Player(name: 'Alice', role: Role.dorfbewohner, isDead: false), Player(name: 'Bob', role: Role.werwolf, isDead: false), Player(name: 'Charlie', role: Role.dorfbewohner, isDead: false), ]; testWidgets('Displays player names in grid', (WidgetTester tester) async { await tester.pumpWidget(MaterialApp(home: PlayerGridView(players: players))); expect(find.text('Alice'), findsOneWidget); expect(find.text('Bob'), findsOneWidget); expect(find.text('Charlie'), findsOneWidget); }); testWidgets('Kills a player on tap', (WidgetTester tester) async { await tester.pumpWidget(MaterialApp(home: PlayerGridView(players: players))); await tester.tap(find.text('Alice')); await tester.pumpAndSettle(); expect(players[0].isDead, true); expect(find.byIcon(Icons.close), findsOneWidget); // Check if dead icon is shown }); testWidgets('Changes phase on button press', (WidgetTester tester) async { await tester.pumpWidget(MaterialApp(home: PlayerGridView(players: players))); await tester.tap(find.text('Tag skippen')); await tester.pumpAndSettle(); expect(find.text('Nacht skippen'), findsOneWidget); }); }); }