diff options
Diffstat (limited to 'src/test/java/dev/dnpm/services/SettingsServiceTest.java')
| -rw-r--r-- | src/test/java/dev/dnpm/services/SettingsServiceTest.java | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/src/test/java/dev/dnpm/services/SettingsServiceTest.java b/src/test/java/dev/dnpm/services/SettingsServiceTest.java new file mode 100644 index 0000000..c5fd26e --- /dev/null +++ b/src/test/java/dev/dnpm/services/SettingsServiceTest.java @@ -0,0 +1,60 @@ +package dev.dnpm.services; + +import dev.dnpm.database.SettingsRepository; +import de.itc.db.dnpm.Setting; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.Mock; +import org.mockito.junit.jupiter.MockitoExtension; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Mockito.anyString; +import static org.mockito.Mockito.doAnswer; + +@ExtendWith(MockitoExtension.class) +class SettingsServiceTest { + + @Mock + private SettingsRepository settingsRepository; + + private SettingsService service; + + @BeforeEach + void setUp() { + this.service = new SettingsService(settingsRepository); + } + + @Test + void shouldReturnSID() { + doAnswer(invocationOnMock -> { + var name = invocationOnMock.getArgument(0, String.class); + if (null != name && name.equals("SID")) { + return new Setting(1L, "SID", "12345"); + } + return null; + }).when(settingsRepository).findByName(anyString()); + + var actual = service.getSID(); + assertThat(actual) + .isPresent() + .contains("12345"); + } + + @Test + void shouldReturnSIDByName() { + doAnswer(invocationOnMock -> { + var name = invocationOnMock.getArgument(0, String.class); + if (null != name && name.equals("SID")) { + return new Setting(1L, "SID", "12345"); + } + return null; + }).when(settingsRepository).findByName(anyString()); + + var actual = service.getSetting("SID"); + assertThat(actual) + .isPresent() + .contains("12345"); + } + +} |
