diff options
| author | Paul-Christian Volkmer | 2023-04-03 17:44:38 +0200 |
|---|---|---|
| committer | GitHub | 2023-04-03 17:44:38 +0200 |
| commit | 4193ad9672c6f3a26e765d2fc987d7da94108fb1 (patch) | |
| tree | c9df0d013bd8bddf1ac5976cf0dba8ca89f609d1 /src/test/java/DNPM/config/ConsentManagerServiceFactoryTest.java | |
| parent | 6d401353026d9dc042e8300d871d43589b74f153 (diff) | |
| parent | 0914dd21d26eaa83bb057d0bc0af74f9cd3df20c (diff) | |
Merge pull request #21 from CCC-MF/issue_20
Anpassung des ConsentManagements an verschiedene Standorte
Diffstat (limited to 'src/test/java/DNPM/config/ConsentManagerServiceFactoryTest.java')
| -rw-r--r-- | src/test/java/DNPM/config/ConsentManagerServiceFactoryTest.java | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/src/test/java/DNPM/config/ConsentManagerServiceFactoryTest.java b/src/test/java/DNPM/config/ConsentManagerServiceFactoryTest.java new file mode 100644 index 0000000..6e32e7f --- /dev/null +++ b/src/test/java/DNPM/config/ConsentManagerServiceFactoryTest.java @@ -0,0 +1,54 @@ +package DNPM.config; + +import DNPM.services.consent.ConsentManagerService; +import DNPM.services.consent.ConsentManagerServiceFactory; +import DNPM.services.consent.MrConsentManagerService; +import DNPM.services.consent.UkwConsentManagerService; +import de.itc.onkostar.api.IOnkostarApi; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.extension.ExtendWith; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; +import org.mockito.Mock; +import org.mockito.junit.jupiter.MockitoExtension; + +import java.util.Map; +import java.util.Set; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.Mockito.when; + +@ExtendWith(MockitoExtension.class) +class ConsentManagerServiceFactoryTest { + + private IOnkostarApi onkostarApi; + + private ConsentManagerServiceFactory consentManagerServiceFactory; + + @BeforeEach + void setup( + @Mock IOnkostarApi onkostarApi + ) { + this.onkostarApi = onkostarApi; + this.consentManagerServiceFactory = new ConsentManagerServiceFactory(onkostarApi); + } + + private static Set<Map.Entry<String, Class<? extends ConsentManagerService>>> expectedMappings() { + return Map.ofEntries( + Map.entry("MR.Consent", MrConsentManagerService.class), + Map.entry("Excel-Formular", UkwConsentManagerService.class) + ).entrySet(); + } + + @ParameterizedTest + @MethodSource("expectedMappings") + void testShouldMapFormNameToService(Map.Entry<String, Class<?>> expectedMapping) { + when(onkostarApi.getGlobalSetting(anyString())).thenReturn(expectedMapping.getKey()); + + var actual = consentManagerServiceFactory.currentUsableInstance(); + + assertThat(actual).isExactlyInstanceOf(expectedMapping.getValue()); + } + +} |
