From 282841ecf16816f79d4af0c3de1aacfaff0f24b4 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Tue, 18 Nov 2025 20:07:53 +0100 Subject: [PATCH 1/4] Implemented uuid for all dtos --- lib/data/dto/game.dart | 7 ++++--- lib/data/dto/group.dart | 4 +++- lib/data/dto/player.dart | 4 +++- lib/presentation/views/main_menu/groups_view.dart | 6 +++--- pubspec.yaml | 1 + 5 files changed, 14 insertions(+), 8 deletions(-) diff --git a/lib/data/dto/game.dart b/lib/data/dto/game.dart index 125af48..c84779d 100644 --- a/lib/data/dto/game.dart +++ b/lib/data/dto/game.dart @@ -1,5 +1,6 @@ import 'package:game_tracker/data/dto/group.dart'; import 'package:game_tracker/data/dto/player.dart'; +import 'package:uuid/uuid.dart'; class Game { final String id; @@ -9,12 +10,12 @@ class Game { final String winner; Game({ + String? id, + required this.name, this.players, this.group, this.winner = '', - required this.id, - required this.name, - }); + }) : id = id ?? const Uuid().v4(); @override String toString() { diff --git a/lib/data/dto/group.dart b/lib/data/dto/group.dart index 427a52b..0420477 100644 --- a/lib/data/dto/group.dart +++ b/lib/data/dto/group.dart @@ -1,11 +1,13 @@ import 'package:game_tracker/data/dto/player.dart'; +import 'package:uuid/uuid.dart'; class Group { final String id; final String name; final List 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 String toString() { diff --git a/lib/data/dto/player.dart b/lib/data/dto/player.dart index 631a51f..1b00c2c 100644 --- a/lib/data/dto/player.dart +++ b/lib/data/dto/player.dart @@ -1,8 +1,10 @@ +import 'package:uuid/uuid.dart'; + class Player { final String id; final String name; - Player({required this.id, required this.name}); + Player({String? id, required this.name}) : id = id ?? const Uuid().v4(); @override String toString() { diff --git a/lib/presentation/views/main_menu/groups_view.dart b/lib/presentation/views/main_menu/groups_view.dart index 7f1f32d..cfeb0c3 100644 --- a/lib/presentation/views/main_menu/groups_view.dart +++ b/lib/presentation/views/main_menu/groups_view.dart @@ -19,12 +19,11 @@ class GroupsView extends StatefulWidget { class _GroupsViewState extends State { late Future> _allGroupsFuture; - final player = Player(id: 'p1', name: 'Sample'); + final player = Player(name: 'Skeleton Player'); late final List skeletonData = List.filled( 7, Group( - id: '0', - name: 'Sample Game', + name: 'Skeleton Game', members: [player, player, player, player, player, player], ), ); @@ -34,6 +33,7 @@ class _GroupsViewState extends State { super.initState(); final db = Provider.of(context, listen: false); _allGroupsFuture = db.groupDao.getAllGroups(); + print('Skeleton Data: $skeletonData'); } @override diff --git a/pubspec.yaml b/pubspec.yaml index ab6e30b..fbbc01a 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -19,6 +19,7 @@ dependencies: path_provider: ^2.1.5 provider: ^6.1.5 skeletonizer: ^2.1.0+1 + uuid: ^4.5.2 dev_dependencies: flutter_test: From c0ff2bf6777d90393ae8941dbd2291c4cf5aae4d Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Tue, 18 Nov 2025 20:10:29 +0100 Subject: [PATCH 2/4] Removed unnecessary id declarations in tests --- test/db_tests/game_test.dart | 21 ++++++--------------- test/db_tests/group_test.dart | 20 ++++++++------------ test/db_tests/player_test.dart | 4 ++-- 3 files changed, 16 insertions(+), 29 deletions(-) diff --git a/test/db_tests/game_test.dart b/test/db_tests/game_test.dart index bee3ff8..29b0233 100644 --- a/test/db_tests/game_test.dart +++ b/test/db_tests/game_test.dart @@ -24,21 +24,12 @@ void main() { ), ); - player1 = Player(id: 'p1', name: 'Alice'); - player2 = Player(id: 'p2', name: 'Bob'); - player3 = Player(id: 'p3', name: 'Charlie'); - player4 = Player(id: 'p4', name: 'Diana'); - testgroup = Group( - id: 'gr1', - name: 'Test Group', - members: [player1, player2, player3], - ); - testgame = Game( - id: 'ga1', - name: 'Test Game', - group: testgroup, - players: [player4], - ); + player1 = Player(name: 'Alice'); + player2 = Player(name: 'Bob'); + player3 = Player(name: 'Charlie'); + player4 = Player(name: 'Diana'); + testgroup = Group(name: 'Test Group', members: [player1, player2, player3]); + testgame = Game(name: 'Test Game', group: testgroup, players: [player4]); }); tearDown(() async { await database.close(); diff --git a/test/db_tests/group_test.dart b/test/db_tests/group_test.dart index d8d6ce2..3a9d8ca 100644 --- a/test/db_tests/group_test.dart +++ b/test/db_tests/group_test.dart @@ -22,15 +22,11 @@ void main() { ), ); - player1 = Player(id: 'p1', name: 'Alice'); - player2 = Player(id: 'p2', name: 'Bob'); - player3 = Player(id: 'p3', name: 'Charlie'); - player4 = Player(id: 'p4', name: 'Diana'); - testgroup = Group( - id: 'gr1', - name: 'Test Group', - members: [player1, player2, player3], - ); + player1 = Player(name: 'Alice'); + player2 = Player(name: 'Bob'); + player3 = Player(name: 'Charlie'); + player4 = Player(name: 'Diana'); + testgroup = Group(name: 'Test Group', members: [player1, player2, player3]); }); tearDown(() async { await database.close(); @@ -121,12 +117,12 @@ void main() { expect(playerAdded, true); - final playerAdded2 = await database.playerGroupDao.isPlayerInGroup( - playerId: 'a', + final playerNotAdded = !await database.playerGroupDao.isPlayerInGroup( + playerId: '', groupId: testgroup.id, ); - expect(playerAdded2, false); + expect(playerNotAdded, true); expect(playerAdded, true); diff --git a/test/db_tests/player_test.dart b/test/db_tests/player_test.dart index 5258c66..91f4acb 100644 --- a/test/db_tests/player_test.dart +++ b/test/db_tests/player_test.dart @@ -17,7 +17,7 @@ void main() { ), ); - testPlayer = Player(id: 'test_id', name: 'Test Player'); + testPlayer = Player(name: 'Test Player'); }); tearDown(() async { await database.close(); @@ -25,7 +25,7 @@ void main() { group('player tests', () { 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: testPlayer2); From f4ed122220347dc4acfd55cac784a329aee30953 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Tue, 18 Nov 2025 20:15:10 +0100 Subject: [PATCH 3/4] Removed print --- lib/presentation/views/main_menu/groups_view.dart | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/presentation/views/main_menu/groups_view.dart b/lib/presentation/views/main_menu/groups_view.dart index cfeb0c3..8edf20f 100644 --- a/lib/presentation/views/main_menu/groups_view.dart +++ b/lib/presentation/views/main_menu/groups_view.dart @@ -33,7 +33,6 @@ class _GroupsViewState extends State { super.initState(); final db = Provider.of(context, listen: false); _allGroupsFuture = db.groupDao.getAllGroups(); - print('Skeleton Data: $skeletonData'); } @override From 73d8e7522cc2dbd72ded5a08a06fa63526648555 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Tue, 18 Nov 2025 20:44:55 +0100 Subject: [PATCH 4/4] Added fifth player --- test/db_tests/game_test.dart | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/test/db_tests/game_test.dart b/test/db_tests/game_test.dart index 29b0233..4f4b23f 100644 --- a/test/db_tests/game_test.dart +++ b/test/db_tests/game_test.dart @@ -12,6 +12,7 @@ void main() { late Player player2; late Player player3; late Player player4; + late Player player5; late Group testgroup; late Game testgame; @@ -28,8 +29,13 @@ void main() { player2 = Player(name: 'Bob'); player3 = Player(name: 'Charlie'); player4 = Player(name: 'Diana'); + player5 = Player(name: 'Eve'); testgroup = Group(name: 'Test Group', members: [player1, player2, player3]); - testgame = Game(name: 'Test Game', group: testgroup, players: [player4]); + testgame = Game( + name: 'Test Game', + group: testgroup, + players: [player4, player5], + ); }); tearDown(() async { await database.close();