Merge remote-tracking branch 'origin/feature/29-timestamp-zu-allen-objekten-hinzufügen' into feature/31-json-import-fuer-testdaten
# Conflicts: # lib/data/dao/game_dao.dart # lib/data/db/database.g.dart # lib/data/db/tables/game_table.dart # lib/data/dto/game.dart # pubspec.yaml
This commit is contained in:
@@ -15,7 +15,11 @@ class GameDao extends DatabaseAccessor<AppDatabase> with _$GameDaoMixin {
|
|||||||
Future<List<Game>> getAllGames() async {
|
Future<List<Game>> getAllGames() async {
|
||||||
final query = select(gameTable);
|
final query = select(gameTable);
|
||||||
final result = await query.get();
|
final result = await query.get();
|
||||||
return result.map((row) => Game(id: row.id, name: row.name)).toList();
|
return result
|
||||||
|
.map(
|
||||||
|
(row) => Game(id: row.id, name: row.name, createdAt: row.createdAt),
|
||||||
|
)
|
||||||
|
.toList();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Retrieves a [Game] by its [gameId].
|
/// Retrieves a [Game] by its [gameId].
|
||||||
@@ -38,6 +42,7 @@ class GameDao extends DatabaseAccessor<AppDatabase> with _$GameDaoMixin {
|
|||||||
players: players,
|
players: players,
|
||||||
group: group,
|
group: group,
|
||||||
winner: result.winnerId,
|
winner: result.winnerId,
|
||||||
|
createdAt: result.createdAt,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -58,6 +63,7 @@ class GameDao extends DatabaseAccessor<AppDatabase> with _$GameDaoMixin {
|
|||||||
id: game.id,
|
id: game.id,
|
||||||
name: game.name,
|
name: game.name,
|
||||||
winnerId: Value(game.winner),
|
winnerId: Value(game.winner),
|
||||||
|
createdAt: game.createdAt,
|
||||||
),
|
),
|
||||||
mode: InsertMode.insertOrReplace,
|
mode: InsertMode.insertOrReplace,
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -19,7 +19,12 @@ class GroupDao extends DatabaseAccessor<AppDatabase> with _$GroupDaoMixin {
|
|||||||
final members = await db.playerGroupDao.getPlayersOfGroupById(
|
final members = await db.playerGroupDao.getPlayersOfGroupById(
|
||||||
groupId: groupData.id,
|
groupId: groupData.id,
|
||||||
);
|
);
|
||||||
return Group(id: groupData.id, name: groupData.name, members: members);
|
return Group(
|
||||||
|
id: groupData.id,
|
||||||
|
name: groupData.name,
|
||||||
|
members: members,
|
||||||
|
createdAt: groupData.createdAt,
|
||||||
|
);
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -33,7 +38,12 @@ class GroupDao extends DatabaseAccessor<AppDatabase> with _$GroupDaoMixin {
|
|||||||
groupId: groupId,
|
groupId: groupId,
|
||||||
);
|
);
|
||||||
|
|
||||||
return Group(id: result.id, name: result.name, members: members);
|
return Group(
|
||||||
|
id: result.id,
|
||||||
|
name: result.name,
|
||||||
|
members: members,
|
||||||
|
createdAt: result.createdAt,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Adds a new group with the given [id] and [name] to the database.
|
/// Adds a new group with the given [id] and [name] to the database.
|
||||||
@@ -41,9 +51,13 @@ class GroupDao extends DatabaseAccessor<AppDatabase> with _$GroupDaoMixin {
|
|||||||
Future<bool> addGroup({required Group group}) async {
|
Future<bool> addGroup({required Group group}) async {
|
||||||
if (!await groupExists(groupId: group.id)) {
|
if (!await groupExists(groupId: group.id)) {
|
||||||
await db.transaction(() async {
|
await db.transaction(() async {
|
||||||
await into(
|
await into(groupTable).insert(
|
||||||
groupTable,
|
GroupTableCompanion.insert(
|
||||||
).insert(GroupTableCompanion.insert(id: group.id, name: group.name));
|
id: group.id,
|
||||||
|
name: group.name,
|
||||||
|
createdAt: group.createdAt,
|
||||||
|
),
|
||||||
|
);
|
||||||
await db.batch(
|
await db.batch(
|
||||||
(b) => b.insertAll(
|
(b) => b.insertAll(
|
||||||
db.playerGroupTable,
|
db.playerGroupTable,
|
||||||
|
|||||||
@@ -13,14 +13,22 @@ class PlayerDao extends DatabaseAccessor<AppDatabase> with _$PlayerDaoMixin {
|
|||||||
Future<List<Player>> getAllPlayers() async {
|
Future<List<Player>> getAllPlayers() async {
|
||||||
final query = select(playerTable);
|
final query = select(playerTable);
|
||||||
final result = await query.get();
|
final result = await query.get();
|
||||||
return result.map((row) => Player(id: row.id, name: row.name)).toList();
|
return result
|
||||||
|
.map(
|
||||||
|
(row) => Player(id: row.id, name: row.name, createdAt: row.createdAt),
|
||||||
|
)
|
||||||
|
.toList();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Retrieves a [Player] by their [id].
|
/// Retrieves a [Player] by their [id].
|
||||||
Future<Player> getPlayerById({required String playerId}) async {
|
Future<Player> getPlayerById({required String playerId}) async {
|
||||||
final query = select(playerTable)..where((p) => p.id.equals(playerId));
|
final query = select(playerTable)..where((p) => p.id.equals(playerId));
|
||||||
final result = await query.getSingle();
|
final result = await query.getSingle();
|
||||||
return Player(id: result.id, name: result.name);
|
return Player(
|
||||||
|
id: result.id,
|
||||||
|
name: result.name,
|
||||||
|
createdAt: result.createdAt,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Adds a new [player] to the database.
|
/// Adds a new [player] to the database.
|
||||||
@@ -28,9 +36,13 @@ class PlayerDao extends DatabaseAccessor<AppDatabase> with _$PlayerDaoMixin {
|
|||||||
/// the new one.
|
/// the new one.
|
||||||
Future<bool> addPlayer({required Player player}) async {
|
Future<bool> addPlayer({required Player player}) async {
|
||||||
if (!await playerExists(playerId: player.id)) {
|
if (!await playerExists(playerId: player.id)) {
|
||||||
await into(
|
await into(playerTable).insert(
|
||||||
playerTable,
|
PlayerTableCompanion.insert(
|
||||||
).insert(PlayerTableCompanion.insert(id: player.id, name: player.name));
|
id: player.id,
|
||||||
|
name: player.name,
|
||||||
|
createdAt: player.createdAt,
|
||||||
|
),
|
||||||
|
);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -4,6 +4,7 @@ class GameTable extends Table {
|
|||||||
TextColumn get id => text()();
|
TextColumn get id => text()();
|
||||||
TextColumn get name => text()();
|
TextColumn get name => text()();
|
||||||
late final winnerId = text().nullable()();
|
late final winnerId = text().nullable()();
|
||||||
|
DateTimeColumn get createdAt => dateTime()();
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Set<Column<Object>> get primaryKey => {id};
|
Set<Column<Object>> get primaryKey => {id};
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import 'package:drift/drift.dart';
|
|||||||
class GroupTable extends Table {
|
class GroupTable extends Table {
|
||||||
TextColumn get id => text()();
|
TextColumn get id => text()();
|
||||||
TextColumn get name => text()();
|
TextColumn get name => text()();
|
||||||
|
DateTimeColumn get createdAt => dateTime()();
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Set<Column<Object>> get primaryKey => {id};
|
Set<Column<Object>> get primaryKey => {id};
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import 'package:drift/drift.dart';
|
|||||||
class PlayerTable extends Table {
|
class PlayerTable extends Table {
|
||||||
TextColumn get id => text()();
|
TextColumn get id => text()();
|
||||||
TextColumn get name => text()();
|
TextColumn get name => text()();
|
||||||
|
DateTimeColumn get createdAt => dateTime()();
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Set<Column<Object>> get primaryKey => {id};
|
Set<Column<Object>> get primaryKey => {id};
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import 'package:clock/clock.dart';
|
||||||
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';
|
import 'package:uuid/uuid.dart';
|
||||||
@@ -8,9 +9,17 @@ class Game {
|
|||||||
final List<Player>? players;
|
final List<Player>? players;
|
||||||
final Group? group;
|
final Group? group;
|
||||||
final String? winner;
|
final String? winner;
|
||||||
|
final DateTime createdAt;
|
||||||
|
|
||||||
Game({String? id, required this.name, this.players, this.group, this.winner})
|
Game({
|
||||||
: id = id ?? const Uuid().v4();
|
String? id,
|
||||||
|
DateTime? createdAt,
|
||||||
|
required this.name,
|
||||||
|
this.players,
|
||||||
|
this.group,
|
||||||
|
this.winner = '',
|
||||||
|
}) : id = id ?? const Uuid().v4(),
|
||||||
|
createdAt = createdAt ?? clock.now();
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String toString() {
|
String toString() {
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import 'package:clock/clock.dart';
|
||||||
import 'package:game_tracker/data/dto/player.dart';
|
import 'package:game_tracker/data/dto/player.dart';
|
||||||
import 'package:uuid/uuid.dart';
|
import 'package:uuid/uuid.dart';
|
||||||
|
|
||||||
@@ -5,9 +6,15 @@ class Group {
|
|||||||
final String id;
|
final String id;
|
||||||
final String name;
|
final String name;
|
||||||
final List<Player> members;
|
final List<Player> members;
|
||||||
|
final DateTime createdAt;
|
||||||
|
|
||||||
Group({String? id, required this.name, required this.members})
|
Group({
|
||||||
: id = id ?? const Uuid().v4();
|
String? id,
|
||||||
|
DateTime? createdAt,
|
||||||
|
required this.name,
|
||||||
|
required this.members,
|
||||||
|
}) : id = id ?? const Uuid().v4(),
|
||||||
|
createdAt = createdAt ?? clock.now();
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String toString() {
|
String toString() {
|
||||||
|
|||||||
@@ -1,10 +1,14 @@
|
|||||||
|
import 'package:clock/clock.dart';
|
||||||
import 'package:uuid/uuid.dart';
|
import 'package:uuid/uuid.dart';
|
||||||
|
|
||||||
class Player {
|
class Player {
|
||||||
final String id;
|
final String id;
|
||||||
final String name;
|
final String name;
|
||||||
|
final DateTime createdAt;
|
||||||
|
|
||||||
Player({String? id, required this.name}) : id = id ?? const Uuid().v4();
|
Player({String? id, DateTime? createdAt, required this.name})
|
||||||
|
: id = id ?? const Uuid().v4(),
|
||||||
|
createdAt = createdAt ?? clock.now();
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String toString() {
|
String toString() {
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ dependencies:
|
|||||||
file_picker: ^10.3.6
|
file_picker: ^10.3.6
|
||||||
json_schema: ^5.2.2
|
json_schema: ^5.2.2
|
||||||
file_saver: ^0.3.1
|
file_saver: ^0.3.1
|
||||||
|
clock: ^1.1.2
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
flutter_test:
|
flutter_test:
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import 'package:clock/clock.dart';
|
||||||
import 'package:drift/drift.dart';
|
import 'package:drift/drift.dart';
|
||||||
import 'package:drift/native.dart';
|
import 'package:drift/native.dart';
|
||||||
import 'package:flutter_test/flutter_test.dart';
|
import 'package:flutter_test/flutter_test.dart';
|
||||||
@@ -15,6 +16,8 @@ void main() {
|
|||||||
late Player player5;
|
late Player player5;
|
||||||
late Group testgroup;
|
late Group testgroup;
|
||||||
late Game testgame;
|
late Game testgame;
|
||||||
|
final fixedDate = DateTime(2025, 19, 11, 00, 11, 23);
|
||||||
|
final fakeClock = Clock(() => fixedDate);
|
||||||
|
|
||||||
setUp(() {
|
setUp(() {
|
||||||
database = AppDatabase(
|
database = AppDatabase(
|
||||||
@@ -25,17 +28,22 @@ void main() {
|
|||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
player1 = Player(name: 'Alice');
|
withClock(fakeClock, () {
|
||||||
player2 = Player(name: 'Bob');
|
player1 = Player(name: 'Alice');
|
||||||
player3 = Player(name: 'Charlie');
|
player2 = Player(name: 'Bob');
|
||||||
player4 = Player(name: 'Diana');
|
player3 = Player(name: 'Charlie');
|
||||||
player5 = Player(name: 'Eve');
|
player4 = Player(name: 'Diana');
|
||||||
testgroup = Group(name: 'Test Group', members: [player1, player2, player3]);
|
player5 = Player(name: 'Eve');
|
||||||
testgame = Game(
|
testgroup = Group(
|
||||||
name: 'Test Game',
|
name: 'Test Group',
|
||||||
group: testgroup,
|
members: [player1, player2, player3],
|
||||||
players: [player4, player5],
|
);
|
||||||
);
|
testgame = Game(
|
||||||
|
name: 'Test Game',
|
||||||
|
group: testgroup,
|
||||||
|
players: [player4, player5],
|
||||||
|
);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
tearDown(() async {
|
tearDown(() async {
|
||||||
await database.close();
|
await database.close();
|
||||||
@@ -50,6 +58,7 @@ void main() {
|
|||||||
expect(result.id, testgame.id);
|
expect(result.id, testgame.id);
|
||||||
expect(result.name, testgame.name);
|
expect(result.name, testgame.name);
|
||||||
expect(result.winner, testgame.winner);
|
expect(result.winner, testgame.winner);
|
||||||
|
expect(result.createdAt, testgame.createdAt);
|
||||||
|
|
||||||
if (result.group != null) {
|
if (result.group != null) {
|
||||||
expect(result.group!.members.length, testgroup.members.length);
|
expect(result.group!.members.length, testgroup.members.length);
|
||||||
@@ -67,6 +76,7 @@ void main() {
|
|||||||
for (int i = 0; i < testgame.players!.length; i++) {
|
for (int i = 0; i < testgame.players!.length; i++) {
|
||||||
expect(result.players![i].id, testgame.players![i].id);
|
expect(result.players![i].id, testgame.players![i].id);
|
||||||
expect(result.players![i].name, testgame.players![i].name);
|
expect(result.players![i].name, testgame.players![i].name);
|
||||||
|
expect(result.players![i].createdAt, testgame.players![i].createdAt);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
fail('Players is null');
|
fail('Players is null');
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import 'package:clock/clock.dart';
|
||||||
import 'package:drift/drift.dart';
|
import 'package:drift/drift.dart';
|
||||||
import 'package:drift/native.dart';
|
import 'package:drift/native.dart';
|
||||||
import 'package:flutter_test/flutter_test.dart';
|
import 'package:flutter_test/flutter_test.dart';
|
||||||
@@ -12,6 +13,9 @@ void main() {
|
|||||||
late Player player3;
|
late Player player3;
|
||||||
late Player player4;
|
late Player player4;
|
||||||
late Group testgroup;
|
late Group testgroup;
|
||||||
|
late Group testgroup2;
|
||||||
|
final fixedDate = DateTime(2025, 19, 11, 00, 11, 23);
|
||||||
|
final fakeClock = Clock(() => fixedDate);
|
||||||
|
|
||||||
setUp(() {
|
setUp(() {
|
||||||
database = AppDatabase(
|
database = AppDatabase(
|
||||||
@@ -22,22 +26,27 @@ void main() {
|
|||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
player1 = Player(name: 'Alice');
|
withClock(fakeClock, () {
|
||||||
player2 = Player(name: 'Bob');
|
player1 = Player(name: 'Alice');
|
||||||
player3 = Player(name: 'Charlie');
|
player2 = Player(name: 'Bob');
|
||||||
player4 = Player(name: 'Diana');
|
player3 = Player(name: 'Charlie');
|
||||||
testgroup = Group(name: 'Test Group', members: [player1, player2, player3]);
|
player4 = Player(name: 'Diana');
|
||||||
|
testgroup = Group(
|
||||||
|
name: 'Test Group',
|
||||||
|
members: [player1, player2, player3],
|
||||||
|
);
|
||||||
|
testgroup2 = Group(
|
||||||
|
id: 'gr2',
|
||||||
|
name: 'Second Group',
|
||||||
|
members: [player2, player3, player4],
|
||||||
|
);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
tearDown(() async {
|
tearDown(() async {
|
||||||
await database.close();
|
await database.close();
|
||||||
});
|
});
|
||||||
group('group tests', () {
|
group('group tests', () {
|
||||||
test('all groups get fetched correctly', () async {
|
test('all groups get fetched correctly', () async {
|
||||||
final testgroup2 = Group(
|
|
||||||
id: 'gr2',
|
|
||||||
name: 'Second Group',
|
|
||||||
members: [player2, player3, player4],
|
|
||||||
);
|
|
||||||
await database.groupDao.addGroup(group: testgroup);
|
await database.groupDao.addGroup(group: testgroup);
|
||||||
await database.groupDao.addGroup(group: testgroup2);
|
await database.groupDao.addGroup(group: testgroup2);
|
||||||
|
|
||||||
@@ -48,11 +57,13 @@ void main() {
|
|||||||
expect(fetchedGroup1.name, testgroup.name);
|
expect(fetchedGroup1.name, testgroup.name);
|
||||||
expect(fetchedGroup1.members.length, testgroup.members.length);
|
expect(fetchedGroup1.members.length, testgroup.members.length);
|
||||||
expect(fetchedGroup1.members.elementAt(0).id, player1.id);
|
expect(fetchedGroup1.members.elementAt(0).id, player1.id);
|
||||||
|
expect(fetchedGroup1.members.elementAt(0).createdAt, player1.createdAt);
|
||||||
|
|
||||||
final fetchedGroup2 = allGroups.firstWhere((g) => g.id == testgroup2.id);
|
final fetchedGroup2 = allGroups.firstWhere((g) => g.id == testgroup2.id);
|
||||||
expect(fetchedGroup2.name, testgroup2.name);
|
expect(fetchedGroup2.name, testgroup2.name);
|
||||||
expect(fetchedGroup2.members.length, testgroup2.members.length);
|
expect(fetchedGroup2.members.length, testgroup2.members.length);
|
||||||
expect(fetchedGroup2.members.elementAt(0).id, player2.id);
|
expect(fetchedGroup2.members.elementAt(0).id, player2.id);
|
||||||
|
expect(fetchedGroup2.members.elementAt(0).createdAt, player2.createdAt);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('group and group members gets added correctly', () async {
|
test('group and group members gets added correctly', () async {
|
||||||
@@ -64,11 +75,13 @@ void main() {
|
|||||||
|
|
||||||
expect(result.id, testgroup.id);
|
expect(result.id, testgroup.id);
|
||||||
expect(result.name, testgroup.name);
|
expect(result.name, testgroup.name);
|
||||||
|
expect(result.createdAt, testgroup.createdAt);
|
||||||
|
|
||||||
expect(result.members.length, testgroup.members.length);
|
expect(result.members.length, testgroup.members.length);
|
||||||
for (int i = 0; i < testgroup.members.length; i++) {
|
for (int i = 0; i < testgroup.members.length; i++) {
|
||||||
expect(result.members[i].id, testgroup.members[i].id);
|
expect(result.members[i].id, testgroup.members[i].id);
|
||||||
expect(result.members[i].name, testgroup.members[i].name);
|
expect(result.members[i].name, testgroup.members[i].name);
|
||||||
|
expect(result.members[i].createdAt, testgroup.members[i].createdAt);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -124,8 +137,6 @@ void main() {
|
|||||||
|
|
||||||
expect(playerNotAdded, true);
|
expect(playerNotAdded, true);
|
||||||
|
|
||||||
expect(playerAdded, true);
|
|
||||||
|
|
||||||
final result = await database.groupDao.getGroupById(
|
final result = await database.groupDao.getGroupById(
|
||||||
groupId: testgroup.id,
|
groupId: testgroup.id,
|
||||||
);
|
);
|
||||||
@@ -133,6 +144,7 @@ void main() {
|
|||||||
|
|
||||||
final addedPlayer = result.members.firstWhere((p) => p.id == player4.id);
|
final addedPlayer = result.members.firstWhere((p) => p.id == player4.id);
|
||||||
expect(addedPlayer.name, player4.name);
|
expect(addedPlayer.name, player4.name);
|
||||||
|
expect(addedPlayer.createdAt, player4.createdAt);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Removing player from group works correctly', () async {
|
test('Removing player from group works correctly', () async {
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import 'package:clock/clock.dart';
|
||||||
import 'package:drift/drift.dart';
|
import 'package:drift/drift.dart';
|
||||||
import 'package:drift/native.dart';
|
import 'package:drift/native.dart';
|
||||||
import 'package:flutter_test/flutter_test.dart';
|
import 'package:flutter_test/flutter_test.dart';
|
||||||
@@ -7,6 +8,9 @@ import 'package:game_tracker/data/dto/player.dart';
|
|||||||
void main() {
|
void main() {
|
||||||
late AppDatabase database;
|
late AppDatabase database;
|
||||||
late Player testPlayer;
|
late Player testPlayer;
|
||||||
|
late Player testPlayer2;
|
||||||
|
final fixedDate = DateTime(2025, 19, 11, 00, 11, 23);
|
||||||
|
final fakeClock = Clock(() => fixedDate);
|
||||||
|
|
||||||
setUp(() {
|
setUp(() {
|
||||||
database = AppDatabase(
|
database = AppDatabase(
|
||||||
@@ -17,7 +21,10 @@ void main() {
|
|||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
testPlayer = Player(name: 'Test Player');
|
withClock(fakeClock, () {
|
||||||
|
testPlayer = Player(name: 'Test Player');
|
||||||
|
testPlayer2 = Player(name: 'Second Group');
|
||||||
|
});
|
||||||
});
|
});
|
||||||
tearDown(() async {
|
tearDown(() async {
|
||||||
await database.close();
|
await database.close();
|
||||||
@@ -25,7 +32,6 @@ 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(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);
|
||||||
|
|
||||||
@@ -36,11 +42,13 @@ void main() {
|
|||||||
(g) => g.id == testPlayer.id,
|
(g) => g.id == testPlayer.id,
|
||||||
);
|
);
|
||||||
expect(fetchedPlayer1.name, testPlayer.name);
|
expect(fetchedPlayer1.name, testPlayer.name);
|
||||||
|
expect(fetchedPlayer1.createdAt, testPlayer.createdAt);
|
||||||
|
|
||||||
final fetchedPlayer2 = allPlayers.firstWhere(
|
final fetchedPlayer2 = allPlayers.firstWhere(
|
||||||
(g) => g.id == testPlayer2.id,
|
(g) => g.id == testPlayer2.id,
|
||||||
);
|
);
|
||||||
expect(fetchedPlayer2.name, testPlayer2.name);
|
expect(fetchedPlayer2.name, testPlayer2.name);
|
||||||
|
expect(fetchedPlayer2.createdAt, testPlayer2.createdAt);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('players get inserted correcly ', () async {
|
test('players get inserted correcly ', () async {
|
||||||
@@ -51,6 +59,7 @@ void main() {
|
|||||||
|
|
||||||
expect(result.id, testPlayer.id);
|
expect(result.id, testPlayer.id);
|
||||||
expect(result.name, testPlayer.name);
|
expect(result.name, testPlayer.name);
|
||||||
|
expect(result.createdAt, testPlayer.createdAt);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('players get deleted correcly ', () async {
|
test('players get deleted correcly ', () async {
|
||||||
|
|||||||
Reference in New Issue
Block a user