From ef5c91a352788a2ad84afa18fa0c7cdadec70ed8 Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Mon, 20 Mar 2023 14:07:00 +0100 Subject: Issue #11: Service und Spring Data JPA Repository für Systemeinstellungen --- .../java/DNPM/services/SettingsServiceTest.java | 58 ++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 src/test/java/DNPM/services/SettingsServiceTest.java (limited to 'src/test/java/DNPM/services/SettingsServiceTest.java') diff --git a/src/test/java/DNPM/services/SettingsServiceTest.java b/src/test/java/DNPM/services/SettingsServiceTest.java new file mode 100644 index 0000000..65e3f6d --- /dev/null +++ b/src/test/java/DNPM/services/SettingsServiceTest.java @@ -0,0 +1,58 @@ +package DNPM.services; + +import 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) +public 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(); + assertThat(actual.get()).isEqualTo("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(); + assertThat(actual.get()).isEqualTo("12345"); + } + +} -- cgit v1.2.3