diff --git a/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountService.java b/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountService.java index 7132632353404b4e341641021216e6f2f58b28e0..86c903e1ec52b13d0acba3150c227ee0b1ec642f 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountService.java +++ b/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountService.java @@ -287,7 +287,7 @@ public class AccountService implements Resettable, AccessAllEntities<Account>, A public Account getSelectedAccountOrDefaultAsFallback() { final Account selectedAccount = accountRepository.findByIsSelected(true); - if(selectedAccount != null) + if(selectedAccount != null && selectedAccount.getType() == AccountType.CUSTOM) { return selectedAccount; } diff --git a/src/test/java/de/deadlocker8/budgetmaster/unit/AccountServiceTest.java b/src/test/java/de/deadlocker8/budgetmaster/unit/AccountServiceTest.java index 77e97f0b01250bb14cd4e078fa52536974cb65b8..9ee585404b22966445552366ac6b6455e7b5bee5 100644 --- a/src/test/java/de/deadlocker8/budgetmaster/unit/AccountServiceTest.java +++ b/src/test/java/de/deadlocker8/budgetmaster/unit/AccountServiceTest.java @@ -312,4 +312,13 @@ class AccountServiceTest assertThat(accountService.getSelectedAccountOrDefaultAsFallback()).isEqualTo(ACCOUNT_DEFAULT); } + + @Test + void test_getSelectedAccountOrDefaultAsFallback_fallbackIfPlaceholderAccountIsSelected() + { + Mockito.when(accountRepository.findByIsSelected(true)).thenReturn(ACCOUNT_PLACEHOLDER); + Mockito.when(accountRepository.findByIsDefault(true)).thenReturn(ACCOUNT_DEFAULT); + + assertThat(accountService.getSelectedAccountOrDefaultAsFallback()).isEqualTo(ACCOUNT_DEFAULT); + } }