From badf5ea3114ad1b4be2d0d1dc272ceba5a8453df Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Mon, 11 May 2026 12:23:48 +0200 Subject: [PATCH] feat: added test for exported json --- assets/schema.json | 34 ++----------------- test/services/data_transfer_service_test.dart | 23 ++++++++++--- 2 files changed, 22 insertions(+), 35 deletions(-) diff --git a/assets/schema.json b/assets/schema.json index 6bcbe45..7f6aebd 100644 --- a/assets/schema.json +++ b/assets/schema.json @@ -102,36 +102,6 @@ ] } }, - "teams": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "memberIds": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "additionalProperties": false, - "required": [ - "id", - "name", - "createdAt", - "memberIds" - ] - } - }, "matches": { "type": "array", "items": { @@ -195,6 +165,9 @@ }, "notes": { "type": "string" + }, + "teams": { + "type": ["array", "null"] } }, "additionalProperties": false, @@ -214,7 +187,6 @@ "players", "games", "groups", - "teams", "matches" ] } \ No newline at end of file diff --git a/test/services/data_transfer_service_test.dart b/test/services/data_transfer_service_test.dart index fec70b7..70313fa 100644 --- a/test/services/data_transfer_service_test.dart +++ b/test/services/data_transfer_service_test.dart @@ -137,9 +137,6 @@ void main() { await database.playerDao.addPlayer(player: testPlayer2); await database.gameDao.addGame(game: testGame); await database.groupDao.addGroup(group: testGroup); - /* - await database.teamDao.addTeam(team: testTeam); -*/ await database.matchDao.addMatch(match: testMatch); final ctx = await getContext(tester); @@ -853,7 +850,7 @@ void main() { }); }); - test('validateJsonSchema()', () async { + test('validateJsonSchema() works correctly', () async { final validJson = json.encode({ 'players': [ { @@ -912,5 +909,23 @@ void main() { final isValid = await DataTransferService.validateJsonSchema(validJson); expect(isValid, true); }); + + testWidgets('validateJsonSchema() validates exported json file', ( + tester, + ) async { + await database.playerDao.addPlayer(player: testPlayer1); + await database.playerDao.addPlayer(player: testPlayer2); + await database.gameDao.addGame(game: testGame); + await database.groupDao.addGroup(group: testGroup); + await database.matchDao.addMatch(match: testMatch); + + final ctx = await getContext(tester); + final jsonString = await DataTransferService.getAppDataAsJson(ctx); + + expect(jsonString, isNotEmpty); + + final isValid = await DataTransferService.validateJsonSchema(jsonString); + expect(isValid, true); + }); }); }