From d6247314c0ca59c03d7720f2a28d927f959fb759 Mon Sep 17 00:00:00 2001
From: Robert Goldmann <deadlocker@gmx.de>
Date: Fri, 15 Apr 2022 22:17:31 +0200
Subject: [PATCH] #691 - fixed icon for default account

---
 .../budgetmaster/accounts/AccountService.java |  3 ++
 .../unit/database/ImportServiceTest.java      | 35 ++++++++++---------
 2 files changed, 21 insertions(+), 17 deletions(-)

diff --git a/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountService.java b/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountService.java
index 233360c99..ddd726cdd 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountService.java
@@ -136,6 +136,9 @@ public class AccountService implements Resettable, AccessAllEntities<Account>, A
 			LOGGER.debug("Created placeholder account");
 
 			Account account = accountRepository.save(new Account(Localization.getString(Strings.ACCOUNT_DEFAULT_NAME), AccountType.CUSTOM));
+			final Icon iconDefaultAccount = iconService.createIconReference(null, null, null);
+			iconService.getRepository().save(iconDefaultAccount);
+			account.setIconReference(iconDefaultAccount);
 			selectAccount(account.getID());
 			setAsDefaultAccount(account.getID());
 			LOGGER.debug("Created default account");
diff --git a/src/test/java/de/deadlocker8/budgetmaster/unit/database/ImportServiceTest.java b/src/test/java/de/deadlocker8/budgetmaster/unit/database/ImportServiceTest.java
index 00f4d3f32..f6802ec39 100644
--- a/src/test/java/de/deadlocker8/budgetmaster/unit/database/ImportServiceTest.java
+++ b/src/test/java/de/deadlocker8/budgetmaster/unit/database/ImportServiceTest.java
@@ -158,31 +158,32 @@ class ImportServiceTest
 		// assert icons
 		// icons created for default accounts, categories, ...
 		final Icon iconAllAccounts = createIcon(1, "fas fa-landmark", null, null);
-		// id 2 = default account --> icon will be overwritten by new icon with id 11
-		final Icon iconCategoryNone = createIcon(3, null, null, null);
-		final Icon iconCategoryRest = createIcon(4, null, null, null);
+		final Icon iconAccountDefault = createIcon(2, null, null, null);
+		final Icon iconCategoryNone = createIcon(4, null, null, null);
+		final Icon iconCategoryRest = createIcon(5, null, null, null);
 
 		// imported icons
-		final Icon iconAccountReadOnly = createIcon(10, "fas fa-ban", "#2eb952ff", null);
-		final Icon iconAccountDefault = createIcon(11, null, null, image);
-		final Icon iconAccountSecond = createIcon(12, null, "#2e79b9ff", null);
-		final Icon iconCategoryCar = createIcon(13, "fas fa-ambulance", null, null);
-		final Icon iconCategoryRent = createIcon(14, null, null, image);
-		final Icon iconTemplateFull = createIcon(15, "fas fa-battery-three-quarters", "#e34f4fff", null);
-		final Icon iconTemplateUngrouped = createIcon(16, null, "#212121ff", null);
-		final Icon iconTemplateRandom = createIcon(17, "fas fa-award", "#212121ff", null);
-		final Icon iconTemplateWithTags = createIcon(18, null, null, image);
+		final Icon iconAccountReadOnly = createIcon(11, "fas fa-ban", "#2eb952ff", null);
+		final Icon iconAccountDefaultNew = createIcon(12, null, null, image);
+		final Icon iconAccountSecond = createIcon(13, null, "#2e79b9ff", null);
+		final Icon iconCategoryCar = createIcon(14, "fas fa-ambulance", null, null);
+		final Icon iconCategoryRent = createIcon(15, null, null, image);
+		final Icon iconTemplateFull = createIcon(16, "fas fa-battery-three-quarters", "#e34f4fff", null);
+		final Icon iconTemplateUngrouped = createIcon(17, null, "#212121ff", null);
+		final Icon iconTemplateRandom = createIcon(18, "fas fa-award", "#212121ff", null);
+		final Icon iconTemplateWithTags = createIcon(19, null, null, image);
 		assertThat(iconService.getRepository().findAll())
-				.hasSize(15)
+				.hasSize(16)
 				.containsExactlyInAnyOrder(
 						iconAllAccounts,
+						iconAccountDefault,
 						iconCategoryNone,
 						iconCategoryRest,
-						createIcon(7, "fas fa-landmark", null, null),
-						createIcon(8, null, null, null),
+						createIcon(8, "fas fa-landmark", null, null),
 						createIcon(9, null, null, null),
+						createIcon(10, null, null, null),
 						iconAccountReadOnly,
-						iconAccountDefault,
+						iconAccountDefaultNew,
 						iconAccountSecond,
 						iconCategoryCar,
 						iconCategoryRent,
@@ -206,7 +207,7 @@ class ImportServiceTest
 
 		// assert accounts
 		final Account accountPlaceholder = createAccount(1, "Placeholder", AccountType.ALL, AccountState.FULL_ACCESS, iconAllAccounts, false, false);
-		final Account accountDefault = createAccount(2, "Default Account", AccountType.CUSTOM, AccountState.FULL_ACCESS, iconAccountDefault, true, true);
+		final Account accountDefault = createAccount(2, "Default Account", AccountType.CUSTOM, AccountState.FULL_ACCESS, iconAccountDefaultNew, true, true);
 		final Account accountReadOnly = createAccount(3, "Destination_Account_1", AccountType.CUSTOM, AccountState.FULL_ACCESS, iconAccountReadOnly, false, false);
 		final Account accountSecond = createAccount(4, "Destination_Account_2", AccountType.CUSTOM, AccountState.FULL_ACCESS, iconAccountSecond, false, false);
 		assertThat(accountRepository.findAll())
-- 
GitLab