Merge pull request 'UUID-Generierung für Objekte' (#35) from feature/34-uuid-generierung-fuer-objekte into development

Reviewed-on: #35
This commit was merged in pull request #35.
This commit is contained in:
2025-11-18 19:45:49 +00:00
8 changed files with 31 additions and 33 deletions

View File

@@ -1,5 +1,6 @@
import 'package:game_tracker/data/dto/group.dart'; import 'package:game_tracker/data/dto/group.dart';
import 'package:game_tracker/data/dto/player.dart'; import 'package:game_tracker/data/dto/player.dart';
import 'package:uuid/uuid.dart';
class Game { class Game {
final String id; final String id;
@@ -9,12 +10,12 @@ class Game {
final String winner; final String winner;
Game({ Game({
String? id,
required this.name,
this.players, this.players,
this.group, this.group,
this.winner = '', this.winner = '',
required this.id, }) : id = id ?? const Uuid().v4();
required this.name,
});
@override @override
String toString() { String toString() {

View File

@@ -1,11 +1,13 @@
import 'package:game_tracker/data/dto/player.dart'; import 'package:game_tracker/data/dto/player.dart';
import 'package:uuid/uuid.dart';
class Group { class Group {
final String id; final String id;
final String name; final String name;
final List<Player> members; final List<Player> members;
Group({required this.id, required this.name, required this.members}); Group({String? id, required this.name, required this.members})
: id = id ?? const Uuid().v4();
@override @override
String toString() { String toString() {

View File

@@ -1,8 +1,10 @@
import 'package:uuid/uuid.dart';
class Player { class Player {
final String id; final String id;
final String name; final String name;
Player({required this.id, required this.name}); Player({String? id, required this.name}) : id = id ?? const Uuid().v4();
@override @override
String toString() { String toString() {

View File

@@ -19,12 +19,11 @@ class GroupsView extends StatefulWidget {
class _GroupsViewState extends State<GroupsView> { class _GroupsViewState extends State<GroupsView> {
late Future<List<Group>> _allGroupsFuture; late Future<List<Group>> _allGroupsFuture;
final player = Player(id: 'p1', name: 'Sample'); final player = Player(name: 'Skeleton Player');
late final List<Group> skeletonData = List.filled( late final List<Group> skeletonData = List.filled(
7, 7,
Group( Group(
id: '0', name: 'Skeleton Game',
name: 'Sample Game',
members: [player, player, player, player, player, player], members: [player, player, player, player, player, player],
), ),
); );

View File

@@ -19,6 +19,7 @@ dependencies:
path_provider: ^2.1.5 path_provider: ^2.1.5
provider: ^6.1.5 provider: ^6.1.5
skeletonizer: ^2.1.0+1 skeletonizer: ^2.1.0+1
uuid: ^4.5.2
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:

View File

@@ -12,6 +12,7 @@ void main() {
late Player player2; late Player player2;
late Player player3; late Player player3;
late Player player4; late Player player4;
late Player player5;
late Group testgroup; late Group testgroup;
late Game testgame; late Game testgame;
@@ -24,20 +25,16 @@ void main() {
), ),
); );
player1 = Player(id: 'p1', name: 'Alice'); player1 = Player(name: 'Alice');
player2 = Player(id: 'p2', name: 'Bob'); player2 = Player(name: 'Bob');
player3 = Player(id: 'p3', name: 'Charlie'); player3 = Player(name: 'Charlie');
player4 = Player(id: 'p4', name: 'Diana'); player4 = Player(name: 'Diana');
testgroup = Group( player5 = Player(name: 'Eve');
id: 'gr1', testgroup = Group(name: 'Test Group', members: [player1, player2, player3]);
name: 'Test Group',
members: [player1, player2, player3],
);
testgame = Game( testgame = Game(
id: 'ga1',
name: 'Test Game', name: 'Test Game',
group: testgroup, group: testgroup,
players: [player4], players: [player4, player5],
); );
}); });
tearDown(() async { tearDown(() async {

View File

@@ -22,15 +22,11 @@ void main() {
), ),
); );
player1 = Player(id: 'p1', name: 'Alice'); player1 = Player(name: 'Alice');
player2 = Player(id: 'p2', name: 'Bob'); player2 = Player(name: 'Bob');
player3 = Player(id: 'p3', name: 'Charlie'); player3 = Player(name: 'Charlie');
player4 = Player(id: 'p4', name: 'Diana'); player4 = Player(name: 'Diana');
testgroup = Group( testgroup = Group(name: 'Test Group', members: [player1, player2, player3]);
id: 'gr1',
name: 'Test Group',
members: [player1, player2, player3],
);
}); });
tearDown(() async { tearDown(() async {
await database.close(); await database.close();
@@ -121,12 +117,12 @@ void main() {
expect(playerAdded, true); expect(playerAdded, true);
final playerAdded2 = await database.playerGroupDao.isPlayerInGroup( final playerNotAdded = !await database.playerGroupDao.isPlayerInGroup(
playerId: 'a', playerId: '',
groupId: testgroup.id, groupId: testgroup.id,
); );
expect(playerAdded2, false); expect(playerNotAdded, true);
expect(playerAdded, true); expect(playerAdded, true);

View File

@@ -17,7 +17,7 @@ void main() {
), ),
); );
testPlayer = Player(id: 'test_id', name: 'Test Player'); testPlayer = Player(name: 'Test Player');
}); });
tearDown(() async { tearDown(() async {
await database.close(); await database.close();
@@ -25,7 +25,7 @@ void main() {
group('player tests', () { group('player tests', () {
test('all players get fetched correctly', () async { test('all players get fetched correctly', () async {
final testPlayer2 = Player(id: 'gr2', name: 'Second Group'); final testPlayer2 = Player(name: 'Second Group');
await database.playerDao.addPlayer(player: testPlayer); await database.playerDao.addPlayer(player: testPlayer);
await database.playerDao.addPlayer(player: testPlayer2); await database.playerDao.addPlayer(player: testPlayer2);