diff options
| author | Paul-Christian Volkmer | 2025-10-23 11:08:10 +0200 |
|---|---|---|
| committer | Paul-Christian Volkmer | 2025-10-23 11:09:54 +0200 |
| commit | 84fb0d829832bf1628112376bba729422b169402 (patch) | |
| tree | 4828674b77105877dccfcccb380da3f7c0f75987 /src/test/java/dev/dnpm/oshelper/ConsentManagerTest.java | |
| parent | 61e7dfcbe637f401f81ff853e9bd10c90b325acb (diff) | |
refactor: change package name
Diffstat (limited to 'src/test/java/dev/dnpm/oshelper/ConsentManagerTest.java')
| -rw-r--r-- | src/test/java/dev/dnpm/oshelper/ConsentManagerTest.java | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/src/test/java/dev/dnpm/oshelper/ConsentManagerTest.java b/src/test/java/dev/dnpm/oshelper/ConsentManagerTest.java new file mode 100644 index 0000000..028bcce --- /dev/null +++ b/src/test/java/dev/dnpm/oshelper/ConsentManagerTest.java @@ -0,0 +1,63 @@ +package dev.dnpm.oshelper; + +import dev.dnpm.oshelper.analyzer.ConsentManager; +import dev.dnpm.oshelper.services.consent.ConsentManagerServiceFactory; +import dev.dnpm.oshelper.services.consent.MrConsentManagerService; +import de.itc.onkostar.api.IOnkostarApi; +import de.itc.onkostar.api.Procedure; +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.mockito.Mockito.*; + +@ExtendWith(MockitoExtension.class) +class ConsentManagerTest { + + private IOnkostarApi onkostarApi; + + private ConsentManagerServiceFactory consentManagerServiceFactory; + + private ConsentManager consentManager; + + @BeforeEach + void setup( + @Mock IOnkostarApi onkostarApi, + @Mock ConsentManagerServiceFactory consentManagerServiceFactory + ) { + this.onkostarApi = onkostarApi; + this.consentManagerServiceFactory = consentManagerServiceFactory; + this.consentManager = new ConsentManager(onkostarApi, consentManagerServiceFactory); + } + + @Test + void shouldRunServiceMethodsOnAnalyzeCalled() { + var consentManagerServiceMock = mock(MrConsentManagerService.class); + + when(consentManagerServiceMock.canApply(any(Procedure.class))).thenReturn(true); + + when(this.consentManagerServiceFactory.currentUsableInstance()) + .thenReturn(consentManagerServiceMock); + + this.consentManager.analyze(new Procedure(onkostarApi), null); + + verify(consentManagerServiceMock, times(1)).applyConsent(any(Procedure.class)); + } + + @Test + void shouldNotRunServiceMethodsIfProcedureCannotBeAppliesForForm() { + var consentManagerServiceMock = mock(MrConsentManagerService.class); + + when(consentManagerServiceMock.canApply(any(Procedure.class))).thenReturn(false); + + when(this.consentManagerServiceFactory.currentUsableInstance()) + .thenReturn(consentManagerServiceMock); + + this.consentManager.analyze(new Procedure(onkostarApi), null); + + verify(consentManagerServiceMock, times(0)).applyConsent(any(Procedure.class)); + } + +} |
