From 09096fc1b37dec79080d8b45c2a93b296830f4ca Mon Sep 17 00:00:00 2001 From: agitrubard Date: Wed, 14 Aug 2024 15:26:34 +0300 Subject: [PATCH] AYS-383 | Permission List Endpoint Has Been Covered with Unauthorized Test --- .../AysPermissionControllerTest.java | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/src/test/java/org/ays/auth/controller/AysPermissionControllerTest.java b/src/test/java/org/ays/auth/controller/AysPermissionControllerTest.java index d555f72b1..5487d6c69 100644 --- a/src/test/java/org/ays/auth/controller/AysPermissionControllerTest.java +++ b/src/test/java/org/ays/auth/controller/AysPermissionControllerTest.java @@ -6,7 +6,9 @@ import org.ays.auth.model.mapper.AysPermissionToPermissionsResponseMapper; import org.ays.auth.model.response.AysPermissionsResponse; import org.ays.auth.service.AysPermissionService; +import org.ays.common.model.response.AysErrorResponse; import org.ays.common.model.response.AysResponse; +import org.ays.common.util.exception.model.AysErrorBuilder; import org.ays.util.AysMockMvcRequestBuilders; import org.ays.util.AysMockResultMatchersBuilders; import org.junit.jupiter.api.Test; @@ -59,4 +61,34 @@ void whenPermissionsFound_thenReturnPermissions() throws Exception { .findAll(); } + @Test + void whenUnauthorizedForFoundingPermissions_thenReturnAccessDeniedException() throws Exception { + + // When + List mockPermissions = List.of( + new AysPermissionBuilder().withValidValues().build(), + new AysPermissionBuilder().withValidValues().build() + ); + + Mockito.when(permissionService.findAll()) + .thenReturn(mockPermissions); + + // Then + String endpoint = BASE_PATH.concat("/permissions"); + MockHttpServletRequestBuilder mockHttpServletRequestBuilder = AysMockMvcRequestBuilders + .get(endpoint, mockUserToken.getAccessToken()); + + AysErrorResponse mockErrorResponse = AysErrorBuilder.FORBIDDEN; + + aysMockMvc.perform(mockHttpServletRequestBuilder, mockErrorResponse) + .andExpect(AysMockResultMatchersBuilders.status() + .isForbidden()) + .andExpect(AysMockResultMatchersBuilders.subErrors() + .doesNotExist()); + + // Verify + Mockito.verify(permissionService, Mockito.never()) + .findAll(); + } + } \ No newline at end of file