From 8676d9bfdc2ba66d90f2d40f598da984cd6557f3 Mon Sep 17 00:00:00 2001 From: Fredrik Marjoni Date: Fri, 20 Mar 2026 18:14:05 +0100 Subject: [PATCH] fix[DBWrapper]: Fix exporting of Donations to successfully export when closing the application --- .../java/edu/group5/app/control/wrapper/DbWrapper.java | 10 ++++++++-- .../app/control/wrapper/DbWrapperDonationsTest.java | 8 ++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/main/java/edu/group5/app/control/wrapper/DbWrapper.java b/src/main/java/edu/group5/app/control/wrapper/DbWrapper.java index babb929..7e3adc0 100644 --- a/src/main/java/edu/group5/app/control/wrapper/DbWrapper.java +++ b/src/main/java/edu/group5/app/control/wrapper/DbWrapper.java @@ -95,10 +95,13 @@ public List importUsers() { public int exportUsers(List data) { this.importUsers(); - + if (data == null) { throw new IllegalArgumentException("data can't be null"); } + if (data.isEmpty()) { + return 0; + } if (data.get(0).length != 6) { throw new IllegalArgumentException("data's arrays must have a length of 6"); } @@ -184,10 +187,13 @@ private List importDonations(int user_id, boolean all) { public int exportDonations(List data) { this.fetchAllDonations(); - + if (data == null) { throw new IllegalArgumentException("data can't be null"); } + if (data.isEmpty()) { + return 0; + } if (data.get(0).length != 6) { throw new IllegalArgumentException("data's arrays must have a length of 6"); } diff --git a/src/test/java/edu/group5/app/control/wrapper/DbWrapperDonationsTest.java b/src/test/java/edu/group5/app/control/wrapper/DbWrapperDonationsTest.java index f31d57c..8c401c4 100644 --- a/src/test/java/edu/group5/app/control/wrapper/DbWrapperDonationsTest.java +++ b/src/test/java/edu/group5/app/control/wrapper/DbWrapperDonationsTest.java @@ -196,4 +196,12 @@ public void addingDonationListWithNullInRowThrowsExpectedException() { assertTrue(this.db.disconnect()); assertEquals("One or more rows in data contains null values", exception.getMessage()); } + + @Test + public void dataIsEmptyAfterExportingAndImportingEmptyList() { + assertTrue(this.db.importDonations((int) this.users.get(0)[0]).size() == 0); + assertEquals(0, this.db.exportDonations(new ArrayList())); + assertTrue(this.db.importDonations((int) this.users.get(0)[0]).size() == 0); + assertTrue(this.db.disconnect()); + } }