summaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorPaul-Christian Volkmer2023-05-09 09:20:27 +0200
committerPaul-Christian Volkmer2023-05-09 13:37:07 +0200
commitde50c50eb44042e85d68270526756f50711b9974 (patch)
tree6d94318159cd346082b3d0ac5628cb821b076235 /src/test/java
parentc45dc8f5df1c9ce5c2ed200ec4a4a368db9861ef (diff)
Issue #28: Tests zur Ermittlung von Varianten aus "OS.Molekulargenetik" hinzugefügt
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/DNPM/analyzer/EinzelempfehlungAnalyzerTest.java46
-rw-r--r--src/test/java/DNPM/services/molekulargenetik/OsMolekluargenetikFormServiceTest.java49
2 files changed, 95 insertions, 0 deletions
diff --git a/src/test/java/DNPM/analyzer/EinzelempfehlungAnalyzerTest.java b/src/test/java/DNPM/analyzer/EinzelempfehlungAnalyzerTest.java
new file mode 100644
index 0000000..337ffdb
--- /dev/null
+++ b/src/test/java/DNPM/analyzer/EinzelempfehlungAnalyzerTest.java
@@ -0,0 +1,46 @@
+package DNPM.analyzer;
+
+import DNPM.security.DelegatingDataBasedPermissionEvaluator;
+import DNPM.services.molekulargenetik.MolekulargenetikFormService;
+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 java.util.Map;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.*;
+
+@ExtendWith(MockitoExtension.class)
+class EinzelempfehlungAnalyzerTest {
+
+ private IOnkostarApi onkostarApi;
+
+ private MolekulargenetikFormService molekulargenetikFormService;
+
+ private EinzelempfehlungAnalyzer analyzer;
+
+ @BeforeEach
+ void setup(
+ @Mock IOnkostarApi onkostarApi,
+ @Mock MolekulargenetikFormService molekulargenetikFormService,
+ @Mock DelegatingDataBasedPermissionEvaluator permissionEvaluator
+ ) {
+ this.onkostarApi = onkostarApi;
+ this.molekulargenetikFormService = molekulargenetikFormService;
+ this.analyzer = new EinzelempfehlungAnalyzer(onkostarApi, molekulargenetikFormService, permissionEvaluator);
+ }
+
+ @Test
+ void testShouldRequestVariantsFromMolekulargenetikFormService() {
+ doAnswer(invocationOnMock -> new Procedure(this.onkostarApi)).when(onkostarApi).getProcedure(anyInt());
+
+ analyzer.getVariants(Map.of("id", 123));
+ verify(molekulargenetikFormService, times(1)).getVariants(any(Procedure.class));
+ }
+
+}
diff --git a/src/test/java/DNPM/services/molekulargenetik/OsMolekluargenetikFormServiceTest.java b/src/test/java/DNPM/services/molekulargenetik/OsMolekluargenetikFormServiceTest.java
new file mode 100644
index 0000000..4e11341
--- /dev/null
+++ b/src/test/java/DNPM/services/molekulargenetik/OsMolekluargenetikFormServiceTest.java
@@ -0,0 +1,49 @@
+package DNPM.services.molekulargenetik;
+
+import de.itc.onkostar.api.Item;
+import de.itc.onkostar.api.Procedure;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+public class OsMolekluargenetikFormServiceTest {
+
+ private OsMolekulargenetikFormService service;
+
+ @BeforeEach
+ void setup() {
+ this.service = new OsMolekulargenetikFormService();
+ }
+
+ @Test
+ void testShouldReturnVariants() {
+
+ var procedure = new Procedure(null);
+ procedure.setId(123);
+ procedure.setFormName("OS.Molekulargenetik");
+
+ var subProcedure1 = new Procedure(null);
+ subProcedure1.setId(1123);
+ subProcedure1.setFormName("OS.Molekulargenetische Untersuchung");
+ subProcedure1.setValue("Ergebnis", new Item("Ergebnis", "P"));
+ subProcedure1.setValue("Untersucht", new Item("Untersucht", "BRAF"));
+ subProcedure1.setValue("ExonInt", new Item("ExonInt", 123));
+ subProcedure1.setValue("Pathogenitaetsklasse", new Item("Pathogenitaetsklasse", "2"));
+ procedure.addSubProcedure("MolekulargenetischeUntersuchung", subProcedure1);
+
+ var subProcedure2 = new Procedure(null);
+ subProcedure2.setId(2123);
+ subProcedure2.setFormName("OS.Molekulargenetische Untersuchung");
+ subProcedure2.setValue("Ergebnis", new Item("Ergebnis", "CNV"));
+ subProcedure2.setValue("Untersucht", new Item("Untersucht", "BRAF"));
+ subProcedure2.setValue("ExonInt", new Item("ExonInt", 123));
+ subProcedure2.setValue("Pathogenitaetsklasse", new Item("Pathogenitaetsklasse", "2"));
+ procedure.addSubProcedure("MolekulargenetischeUntersuchung", subProcedure2);
+
+ var actual = service.getVariants(procedure);
+
+ assertThat(actual).hasSize(2);
+ }
+
+}