From 88040b6d1851ded11bc2938040c2a9bfdb5ac46e Mon Sep 17 00:00:00 2001
From: Robert Goldmann <deadlocker@gmx.de>
Date: Sat, 19 Feb 2022 10:32:14 +0100
Subject: [PATCH] #676 - fixed unit tests

---
 .../budgetmaster/accounts/AccountService.java | 33 ++++++++++---------
 .../unit/TransactionServiceDatabaseTest.java  | 14 ++++----
 2 files changed, 26 insertions(+), 21 deletions(-)

diff --git a/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountService.java b/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountService.java
index 6a8e14ba9..069c19827 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountService.java
@@ -138,6 +138,24 @@ public class AccountService implements Resettable, AccessAllEntities<Account>, A
 			setAsDefaultAccount(account.getID());
 			LOGGER.debug("Created default account");
 		}
+		else
+		{
+			final Account placeholderAccount = accountRepository.findAllByType(AccountType.ALL).get(0);
+			final Icon icon = placeholderAccount.getIconReference();
+			if(icon == null)
+			{
+				final Icon newIcon = iconService.createIconReference(null, PLACEHOLDER_ICON, null);
+				iconService.getRepository().save(newIcon);
+				placeholderAccount.setIconReference(newIcon);
+				LOGGER.debug(MessageFormat.format("Updated placeholder account: Created missing icon instance and set icon to \"{0}\"", PLACEHOLDER_ICON));
+			}
+			else if(icon.getBuiltinIdentifier() == null)
+			{
+				icon.setBuiltinIdentifier(PLACEHOLDER_ICON);
+				iconService.getRepository().save(icon);
+				LOGGER.debug(MessageFormat.format("Updated placeholder account: Set missing icon to \"{0}\"", PLACEHOLDER_ICON));
+			}
+		}
 
 		updateMissingAttributes();
 
@@ -157,21 +175,6 @@ public class AccountService implements Resettable, AccessAllEntities<Account>, A
 			handleNullValuesForAccountState(account);
 			accountRepository.save(account);
 		}
-
-		final Account placeholderAccount = accountRepository.findAllByType(AccountType.ALL).get(0);
-		final Icon icon = placeholderAccount.getIconReference();
-		if(icon == null)
-		{
-			final Icon newIcon = iconService.createIconReference(null, PLACEHOLDER_ICON, null);
-			iconService.getRepository().save(newIcon);
-			placeholderAccount.setIconReference(newIcon);
-			LOGGER.debug(MessageFormat.format("Updated placeholder account: Created missing icon instance and set icon to \"{0}\"", PLACEHOLDER_ICON));
-		}
-		else if(icon.getBuiltinIdentifier() == null)
-		{
-			placeholderAccount.updateIcon(iconService, null, PLACEHOLDER_ICON, null, this);
-			LOGGER.debug(MessageFormat.format("Updated placeholder account: Set missing icon to \"{0}\"", PLACEHOLDER_ICON));
-		}
 	}
 
 	private void handleNullValuesForAccountState(Account account)
diff --git a/src/test/java/de/deadlocker8/budgetmaster/unit/TransactionServiceDatabaseTest.java b/src/test/java/de/deadlocker8/budgetmaster/unit/TransactionServiceDatabaseTest.java
index 3e2d1e5d4..ba9315566 100644
--- a/src/test/java/de/deadlocker8/budgetmaster/unit/TransactionServiceDatabaseTest.java
+++ b/src/test/java/de/deadlocker8/budgetmaster/unit/TransactionServiceDatabaseTest.java
@@ -1,9 +1,11 @@
 package de.deadlocker8.budgetmaster.unit;
 
 import de.deadlocker8.budgetmaster.Main;
+import de.deadlocker8.budgetmaster.accounts.AccountRepository;
 import de.deadlocker8.budgetmaster.accounts.AccountService;
 import de.deadlocker8.budgetmaster.accounts.AccountType;
 import de.deadlocker8.budgetmaster.filter.FilterConfiguration;
+import de.deadlocker8.budgetmaster.icon.IconService;
 import de.deadlocker8.budgetmaster.integration.helpers.SeleniumTest;
 import de.deadlocker8.budgetmaster.transactions.Transaction;
 import de.deadlocker8.budgetmaster.transactions.TransactionService;
@@ -57,7 +59,7 @@ class TransactionServiceDatabaseTest
 	private TransactionService transactionService;
 
 	@Autowired
-	private AccountService accountService;
+	private AccountRepository accountRepository;
 
 	@Test
 	void test_deleteAll()
@@ -73,7 +75,7 @@ class TransactionServiceDatabaseTest
 		DateTime date1 = DateTime.parse("2020-04-30", DateTimeFormat.forPattern("yyyy-MM-dd"));
 		FilterConfiguration filterConfiguration = new FilterConfiguration(true, true, true, true, true, null, null, "");
 
-		List<Transaction> transactions = transactionService.getTransactionsForAccount(accountService.getRepository().findByName("Second Account"), date1, DateHelper.getCurrentDate(), filterConfiguration);
+		List<Transaction> transactions = transactionService.getTransactionsForAccount(accountRepository.findByName("Second Account"), date1, DateHelper.getCurrentDate(), filterConfiguration);
 		assertThat(transactions).hasSize(2);
 
 		assertThat(transactions.get(0)).hasFieldOrPropertyWithValue("ID", 9);  // transfer
@@ -86,7 +88,7 @@ class TransactionServiceDatabaseTest
 		DateTime date1 = DateTime.parse("2020-04-30", DateTimeFormat.forPattern("yyyy-MM-dd"));
 		FilterConfiguration filterConfiguration = new FilterConfiguration(true, true, true, true, true, null, null, "");
 
-		List<Transaction> transactions = transactionService.getTransactionsForAccount(accountService.getRepository().findAllByType(AccountType.ALL).get(0), date1, DateHelper.getCurrentDate(), filterConfiguration);
+		List<Transaction> transactions = transactionService.getTransactionsForAccount(accountRepository.findAllByType(AccountType.ALL).get(0), date1, DateHelper.getCurrentDate(), filterConfiguration);
 		assertThat(transactions).hasSize(8);
 	}
 
@@ -97,7 +99,7 @@ class TransactionServiceDatabaseTest
 		DateTime date2 = DateTime.parse("2020-05-20", DateTimeFormat.forPattern("yyyy-MM-dd"));
 		FilterConfiguration filterConfiguration = new FilterConfiguration(true, true, true, true, true, null, null, "");
 
-		List<Transaction> transactions = transactionService.getTransactionsForAccount(accountService.getRepository().findByName("Default Account"), date1, date2, filterConfiguration);
+		List<Transaction> transactions = transactionService.getTransactionsForAccount(accountRepository.findByName("Default Account"), date1, date2, filterConfiguration);
 		assertThat(transactions).hasSize(2);
 	}
 
@@ -106,7 +108,7 @@ class TransactionServiceDatabaseTest
 	{
 		FilterConfiguration filterConfiguration = new FilterConfiguration(true, true, true, true, true, null, null, "");
 
-		List<Transaction> transactions = transactionService.getTransactionsForMonthAndYear(accountService.getRepository().findByName("Default Account"), 6, 2021, false, filterConfiguration);
+		List<Transaction> transactions = transactionService.getTransactionsForMonthAndYear(accountRepository.findByName("Default Account"), 6, 2021, false, filterConfiguration);
 		assertThat(transactions).hasSize(1);
 		assertThat(transactions.get(0).getDate())
 				.isEqualTo(new DateTime(2021, 6, 30, 0, 0, 0, 0));
@@ -123,7 +125,7 @@ class TransactionServiceDatabaseTest
 		{
 			FilterConfiguration filterConfiguration = new FilterConfiguration(true, true, true, true, true, null, null, "");
 
-			List<Transaction> transactions = transactionService.getTransactionsForMonthAndYear(accountService.getRepository().findByName("Default Account"), 6, 2021, false, filterConfiguration);
+			List<Transaction> transactions = transactionService.getTransactionsForMonthAndYear(accountRepository.findByName("Default Account"), 6, 2021, false, filterConfiguration);
 			assertThat(transactions).hasSize(1);
 			assertThat(transactions.get(0).getDate())
 					.isEqualTo(new DateTime(2021, 6, 30, 0, 0, 0, 0));
-- 
GitLab