package dev.lions.user.manager.mapper; import dev.lions.user.manager.dto.role.RoleDTO; import dev.lions.user.manager.enums.role.TypeRole; import org.junit.jupiter.api.Test; import org.keycloak.representations.idm.RoleRepresentation; import java.util.Arrays; import java.util.Collections; import java.util.List; import static org.junit.jupiter.api.Assertions.*; /** * Tests supplémentaires pour RoleMapper pour améliorer la couverture */ class RoleMapperAdditionalTest { @Test void testToDTO_WithAllFields() { RoleRepresentation roleRep = new RoleRepresentation(); roleRep.setId("role-123"); roleRep.setName("admin"); roleRep.setDescription("Administrator role"); roleRep.setComposite(false); RoleDTO dto = RoleMapper.toDTO(roleRep, "test-realm", TypeRole.REALM_ROLE); assertNotNull(dto); assertEquals("role-123", dto.getId()); assertEquals("admin", dto.getName()); assertEquals("Administrator role", dto.getDescription()); assertEquals(TypeRole.REALM_ROLE, dto.getTypeRole()); assertFalse(dto.getComposite()); } @Test void testToDTO_WithNullFields() { RoleRepresentation roleRep = new RoleRepresentation(); roleRep.setId("role-123"); roleRep.setName("user"); RoleDTO dto = RoleMapper.toDTO(roleRep, "test-realm", TypeRole.REALM_ROLE); assertNotNull(dto); assertEquals("role-123", dto.getId()); assertEquals("user", dto.getName()); assertNull(dto.getDescription()); } @Test void testToDTOList_Empty() { List dtos = RoleMapper.toDTOList(Collections.emptyList(), "test-realm", TypeRole.REALM_ROLE); assertNotNull(dtos); assertTrue(dtos.isEmpty()); } @Test void testToDTOList_WithRoles() { RoleRepresentation role1 = new RoleRepresentation(); role1.setId("role-1"); role1.setName("admin"); RoleRepresentation role2 = new RoleRepresentation(); role2.setId("role-2"); role2.setName("user"); List dtos = RoleMapper.toDTOList(Arrays.asList(role1, role2), "test-realm", TypeRole.REALM_ROLE); assertNotNull(dtos); assertEquals(2, dtos.size()); assertEquals("admin", dtos.get(0).getName()); assertEquals("user", dtos.get(1).getName()); } // La méthode toKeycloak() n'existe pas dans RoleMapper // Ces tests sont supprimés car la méthode n'est pas disponible /** * Couvre RoleMapper.java L13 : le constructeur par défaut implicite de la classe utilitaire. * JaCoCo (counter=LINE) marque la déclaration de classe comme non couverte si aucune instance * n'est jamais créée. */ @Test void testRoleMapperInstantiation() { // Instantie la classe pour couvrir le constructeur par défaut (L13) RoleMapper mapper = new RoleMapper(); assertNotNull(mapper); } }