From 74a2b05f4296690439888c20f528cfb712eeacdb Mon Sep 17 00:00:00 2001 From: Manuel Rafeli Date: Mon, 15 Apr 2024 14:38:23 +0200 Subject: [PATCH] [SELC-4644] fix: setting productRole when creating an user (#411) --- .../pagopa/selfcare/dashboard/core/UserV2ServiceImpl.java | 1 + .../selfcare/dashboard/core/UserV2ServiceImplTest.java | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/it/pagopa/selfcare/dashboard/core/UserV2ServiceImpl.java b/core/src/main/java/it/pagopa/selfcare/dashboard/core/UserV2ServiceImpl.java index 7fe2cf7d8..1619b74a5 100644 --- a/core/src/main/java/it/pagopa/selfcare/dashboard/core/UserV2ServiceImpl.java +++ b/core/src/main/java/it/pagopa/selfcare/dashboard/core/UserV2ServiceImpl.java @@ -177,6 +177,7 @@ private List retrieveRole(String productId, Set prod return productRoles.stream().map(productRole -> { EnumMap roleMappings = product.getRoleMappings(); CreateUserDto.Role role = new CreateUserDto.Role(); + role.setProductRole(productRole); role.setLabel(Product.getLabel(productRole, roleMappings).orElse(null)); Optional partyRole = Product.getPartyRole(productRole, roleMappings, PARTY_ROLE_WHITE_LIST); role.setPartyRole(partyRole.orElseThrow(() -> diff --git a/core/src/test/java/it/pagopa/selfcare/dashboard/core/UserV2ServiceImplTest.java b/core/src/test/java/it/pagopa/selfcare/dashboard/core/UserV2ServiceImplTest.java index 558d8103d..f5df8da1b 100644 --- a/core/src/test/java/it/pagopa/selfcare/dashboard/core/UserV2ServiceImplTest.java +++ b/core/src/test/java/it/pagopa/selfcare/dashboard/core/UserV2ServiceImplTest.java @@ -19,6 +19,7 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.api.function.Executable; +import org.mockito.ArgumentCaptor; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Mockito; @@ -294,9 +295,10 @@ void createUsersByFiscalCode() { // given final String institutionId = "institutionId"; final String productId = "productId"; + final String productRole = "operator"; UserToCreate userToCreate = new UserToCreate(); HashSet productRoles = new HashSet<>(); - productRoles.add("operator"); + productRoles.add(productRole); userToCreate.setProductRoles(productRoles); Product product = getProduct(); @@ -318,8 +320,10 @@ void createUsersByFiscalCode() { // then assertNotNull(userId); + ArgumentCaptor> captorRoles = ArgumentCaptor.forClass(List.class); verify(userApiConnector, times(1)) - .createOrUpdateUserByFiscalCode(eq(institutionId), eq(productId), eq(userToCreate), anyList()); + .createOrUpdateUserByFiscalCode(eq(institutionId), eq(productId), eq(userToCreate), captorRoles.capture()); + assertEquals(captorRoles.getValue().get(0).getProductRole(), productRole); verifyNoMoreInteractions(userApiConnector); }