From 33e395d77a80f338fddd8c0dbc70ef1dfebfceea Mon Sep 17 00:00:00 2001 From: Robert Goldmann <deadlocker@gmx.de> Date: Sun, 20 Feb 2022 11:41:41 +0100 Subject: [PATCH] #655 - fallback to default account if placeholder account is selected --- .../budgetmaster/accounts/AccountService.java | 2 +- .../budgetmaster/unit/AccountServiceTest.java | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountService.java b/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountService.java index 713263235..86c903e1e 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 77e97f0b0..9ee585404 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); + } } -- GitLab