summaryrefslogtreecommitdiff
path: root/src/test/java/DNPM/ConsentManagerTest.java
diff options
context:
space:
mode:
authorPaul-Christian Volkmer2023-04-03 14:34:32 +0200
committerPaul-Christian Volkmer2023-04-03 14:35:31 +0200
commita97d76e5bbe42cde2a5729efedcdcdcd7c26bbe9 (patch)
treea1d835ea86ba24a13bf5904c49cdb16e1085e0cb /src/test/java/DNPM/ConsentManagerTest.java
parentd548c5e5a3cb190fd68b90e2c12dc775da5edf5f (diff)
Issue #20: Detailimplementierungen für Consent Management
Diffstat (limited to 'src/test/java/DNPM/ConsentManagerTest.java')
-rw-r--r--src/test/java/DNPM/ConsentManagerTest.java48
1 files changed, 17 insertions, 31 deletions
diff --git a/src/test/java/DNPM/ConsentManagerTest.java b/src/test/java/DNPM/ConsentManagerTest.java
index 6755ed6..41c9a02 100644
--- a/src/test/java/DNPM/ConsentManagerTest.java
+++ b/src/test/java/DNPM/ConsentManagerTest.java
@@ -1,20 +1,15 @@
package DNPM;
+import DNPM.services.consent.ConsentManagerServiceFactory;
+import DNPM.services.consent.MrConsentManagerService;
import de.itc.onkostar.api.IOnkostarApi;
import de.itc.onkostar.api.Procedure;
-import org.hibernate.SQLQuery;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.hibernate.type.Type;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
-import org.mockito.ArgumentCaptor;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.*;
@ExtendWith(MockitoExtension.class)
@@ -22,39 +17,30 @@ class ConsentManagerTest {
private IOnkostarApi onkostarApi;
+ private ConsentManagerServiceFactory consentManagerServiceFactory;
+
private ConsentManager consentManager;
@BeforeEach
void setup(
- @Mock IOnkostarApi onkostarApi
+ @Mock IOnkostarApi onkostarApi,
+ @Mock ConsentManagerServiceFactory consentManagerServiceFactory
) {
this.onkostarApi = onkostarApi;
- this.consentManager = new ConsentManager(onkostarApi);
+ this.consentManagerServiceFactory = consentManagerServiceFactory;
+ this.consentManager = new ConsentManager(onkostarApi, consentManagerServiceFactory);
}
@Test
- void testShouldCreateSqlQueriesWithRelatedEntityIds() {
- var sessionFactory = mock(SessionFactory.class);
- var session = mock(Session.class);
- var query = mock(SQLQuery.class);
-
- when(onkostarApi.getSessionFactory()).thenReturn(sessionFactory);
- when(sessionFactory.getCurrentSession()).thenReturn(session);
- when(session.createSQLQuery(anyString())).thenReturn(query);
- when(query.addScalar(anyString(), any(Type.class))).thenReturn(query);
- when(query.uniqueResult()).thenReturn("");
-
- var dummyProzedur = new Procedure(this.onkostarApi);
- dummyProzedur.setId(111);
- dummyProzedur.setPatientId(123);
-
- consentManager.analyze(dummyProzedur, null);
-
- var argumentCaptor = ArgumentCaptor.forClass(String.class);
- verify(session, times(2)).createSQLQuery(argumentCaptor.capture());
- assertThat(argumentCaptor.getAllValues()).hasSize(2);
- assertThat(argumentCaptor.getAllValues().get(0)).contains("where entity_id = '111'");
- assertThat(argumentCaptor.getAllValues().get(1)).contains("WHERE patient_id = 123 AND geloescht = 0");
+ void shouldRunServiceMethodsOnAnalyzeCalled() {
+ var consentManagerServiceMock = mock(MrConsentManagerService.class);
+
+ when(this.consentManagerServiceFactory.currentUsableInstance())
+ .thenReturn(consentManagerServiceMock);
+
+ this.consentManager.analyze(new Procedure(onkostarApi), null);
+
+ verify(consentManagerServiceMock, times(1)).applyConsent(any(Procedure.class));
}
}