From b3271882e6e52ccc0416954cddff2970fcdc1cf1 Mon Sep 17 00:00:00 2001 From: Robert Goldmann <deadlocker@gmx.de> Date: Wed, 2 Oct 2024 23:19:31 +0200 Subject: [PATCH] #764 - add unit tests --- .../AccountsSettingsContainerTest.java | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/unit/settings/containers/AccountsSettingsContainerTest.java diff --git a/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/unit/settings/containers/AccountsSettingsContainerTest.java b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/unit/settings/containers/AccountsSettingsContainerTest.java new file mode 100644 index 000000000..880ab188d --- /dev/null +++ b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/unit/settings/containers/AccountsSettingsContainerTest.java @@ -0,0 +1,50 @@ +package de.deadlocker8.budgetmaster.unit.settings.containers; + +import de.deadlocker8.budgetmaster.settings.Settings; +import de.deadlocker8.budgetmaster.settings.SettingsService; +import de.deadlocker8.budgetmaster.settings.containers.AccountsSettingsContainer; +import de.deadlocker8.budgetmaster.unit.helpers.LocalizedTest; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.springframework.test.context.junit.jupiter.SpringExtension; +import org.springframework.validation.BeanPropertyBindingResult; +import org.springframework.validation.Errors; + +import static org.assertj.core.api.Assertions.assertThat; + + +@ExtendWith(SpringExtension.class) +@LocalizedTest +class AccountsSettingsContainerTest +{ + @Mock + private SettingsService settingsService; + + @Test + void test_validate_valid() + { + final AccountsSettingsContainer container = new AccountsSettingsContainer(true); + + final Errors errors = new BeanPropertyBindingResult(container, "container"); + container.validate(errors); + + assertThat(errors.getAllErrors()) + .isEmpty(); + } + + @Test + void test_updateSettings() + { + final Settings defaultSettings = Settings.getDefault(); + + Mockito.when(settingsService.getSettings()).thenReturn(defaultSettings); + + final AccountsSettingsContainer container = new AccountsSettingsContainer(false); + final Settings updatedSettings = container.updateSettings(settingsService); + + assertThat(updatedSettings) + .hasFieldOrPropertyWithValue("accountEndDateReminderActivated", false); + } +} -- GitLab