From 4ebfc0b03b8953c6e2903a9e42395e4adf206256 Mon Sep 17 00:00:00 2001 From: Noah Overcash Date: Mon, 17 Jun 2024 12:31:03 -0400 Subject: [PATCH] more exhaustive tests --- .../fqm/service/EntityTypeServiceTest.java | 31 ++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/src/test/java/org/folio/fqm/service/EntityTypeServiceTest.java b/src/test/java/org/folio/fqm/service/EntityTypeServiceTest.java index 70df7fbb4..1fbcba351 100644 --- a/src/test/java/org/folio/fqm/service/EntityTypeServiceTest.java +++ b/src/test/java/org/folio/fqm/service/EntityTypeServiceTest.java @@ -13,6 +13,9 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.NullSource; +import org.junit.jupiter.params.provider.ValueSource; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; @@ -79,8 +82,34 @@ void shouldGetEntityTypeSummaryForValidIds() { verifyNoMoreInteractions(repo, localizationService); } + @NullSource + @ValueSource(booleans = {false}) + @ParameterizedTest + void testEntityTypeSummaryDoesNotIncludeInaccessibleWhenNotRequested(Boolean p) { + UUID id1 = UUID.randomUUID(); + UUID id2 = UUID.randomUUID(); + Set ids = Set.of(id1, id2); + List expectedSummary = List.of(new EntityTypeSummary().id(id2).label("label_02")); + + when(repo.getEntityTypeSummaries(ids)).thenReturn(List.of( + new RawEntityTypeSummary(id1, "translation_label_01", List.of("perm1")), + new RawEntityTypeSummary(id2, "translation_label_02", List.of("perm2")))); + when(permissionsService.getUserPermissions()).thenReturn(Set.of("perm2")); + when(localizationService.getEntityTypeLabel("translation_label_02")).thenReturn("label_02"); + + List actualSummary = entityTypeService.getEntityTypeSummary(ids, p); + + assertEquals(expectedSummary, actualSummary, "Expected Summary should equal Actual Summary"); + + verify(repo, times(1)).getEntityTypeSummaries(ids); + + verify(localizationService, times(1)).getEntityTypeLabel("translation_label_02"); + + verifyNoMoreInteractions(repo, localizationService); + } + @Test - void testEntityTypeSummaryIncludesMissingPermissions() { + void testEntityTypeSummaryIncludesInaccessible() { UUID id1 = UUID.randomUUID(); UUID id2 = UUID.randomUUID(); Set ids = Set.of(id1, id2);