diff options
Diffstat (limited to 'src/test/java')
| -rw-r--r-- | src/test/java/DNPM/analyzer/TherapieplanAnalyzerTest.java | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/test/java/DNPM/analyzer/TherapieplanAnalyzerTest.java b/src/test/java/DNPM/analyzer/TherapieplanAnalyzerTest.java index 2b10c5a..c2c17f1 100644 --- a/src/test/java/DNPM/analyzer/TherapieplanAnalyzerTest.java +++ b/src/test/java/DNPM/analyzer/TherapieplanAnalyzerTest.java @@ -1,5 +1,7 @@ package DNPM.analyzer; +import DNPM.security.DelegatingDataBasedPermissionEvaluator; +import DNPM.security.PermissionType; import DNPM.services.*; import DNPM.services.mtb.MtbService; import de.itc.onkostar.api.IOnkostarApi; @@ -40,11 +42,14 @@ class TherapieplanAnalyzerTest { @Mock private MtbService mtbService; + @Mock + private DelegatingDataBasedPermissionEvaluator permissionEvaluator; + private TherapieplanAnalyzer therapieplanAnalyzer; @BeforeEach void setUp() { - this.therapieplanAnalyzer = new TherapieplanAnalyzer(studienService, therapieplanServiceFactory, mtbService); + this.therapieplanAnalyzer = new TherapieplanAnalyzer(studienService, therapieplanServiceFactory, mtbService, permissionEvaluator); } @Test @@ -94,6 +99,8 @@ class TherapieplanAnalyzerTest { when(this.therapieplanServiceFactory.currentUsableInstance()) .thenReturn(therapieplanService); + when(this.permissionEvaluator.hasPermission(any(), anyInt(), anyString(), any(PermissionType.class))).thenReturn(true); + var input = Map.of("id", (Object) 1234); this.therapieplanAnalyzer.getProtokollauszug(input); @@ -102,4 +109,15 @@ class TherapieplanAnalyzerTest { assertThat(captor.getValue()).hasSize(1); } + @Test + void shouldNotRequestProtokollauszugDueToNoPermission() { + when(this.permissionEvaluator.hasPermission(any(), anyInt(), anyString(), any(PermissionType.class))) + .thenReturn(false); + + var input = Map.of("id", (Object) 1234); + this.therapieplanAnalyzer.getProtokollauszug(input); + + verify(mtbService, times(0)).getProtocol(anyList()); + } + } |
