diff --git a/connector/rest/src/main/java/it/pagopa/selfcare/dashboard/connector/rest/UserConnectorImpl.java b/connector/rest/src/main/java/it/pagopa/selfcare/dashboard/connector/rest/UserConnectorImpl.java index 392cc9ae3..83caa2917 100644 --- a/connector/rest/src/main/java/it/pagopa/selfcare/dashboard/connector/rest/UserConnectorImpl.java +++ b/connector/rest/src/main/java/it/pagopa/selfcare/dashboard/connector/rest/UserConnectorImpl.java @@ -51,7 +51,7 @@ public List getUserInstitutions(String userId) { List result = userInfoResponse.getInstitutions().stream() .map(institutionMapper::toInstitutionBase) - .sorted(Comparator.comparing(InstitutionBase::getName)) + .sorted(Comparator.comparing(InstitutionBase::getName, Comparator.nullsLast(String::compareTo))) .toList(); log.debug("getUserProducts result = {}", result); log.trace("getUserProducts end"); diff --git a/connector/rest/src/test/java/it/pagopa/selfcare/dashboard/connector/rest/UserConnectorImplTest.java b/connector/rest/src/test/java/it/pagopa/selfcare/dashboard/connector/rest/UserConnectorImplTest.java index b1e458239..da53061d0 100644 --- a/connector/rest/src/test/java/it/pagopa/selfcare/dashboard/connector/rest/UserConnectorImplTest.java +++ b/connector/rest/src/test/java/it/pagopa/selfcare/dashboard/connector/rest/UserConnectorImplTest.java @@ -78,11 +78,12 @@ void getUserProductsFound() { when(userApiRestClient._usersUserIdInstitutionsGet("userID", null, List.of(ACTIVE.name(), PENDING.name(), TOBEVALIDATED.name()))).thenReturn(ResponseEntity.ok(userProductsResponse)); List result = userConnector.getUserInstitutions("userID"); - Assertions.assertEquals(3, result.size()); + Assertions.assertEquals(4, result.size()); Assertions.assertEquals(ACTIVE.name(), result.get(0).getStatus()); Assertions.assertEquals("a", result.get(0).getName()); Assertions.assertEquals("b", result.get(1).getName()); Assertions.assertEquals("c", result.get(2).getName()); + Assertions.assertNull(result.get(3).getName()); } private static UserInfoResponse getUserProductsResponse() { @@ -100,13 +101,20 @@ private static UserInfoResponse getUserProductsResponse() { institutionProducts2.setStatus(OnboardedProductState.ACTIVE); institutionProducts2.setRole(PartyRole.MANAGER); + UserInstitutionRoleResponse institutionProducts4 = new UserInstitutionRoleResponse(); + institutionProducts4.setInstitutionId("institutionId3"); + institutionProducts4.setStatus(OnboardedProductState.ACTIVE); + institutionProducts4.setRole(PartyRole.MANAGER); + UserInstitutionRoleResponse institutionProducts3 = new UserInstitutionRoleResponse(); institutionProducts3.setInstitutionId("institutionId3"); institutionProducts3.setInstitutionName("a"); institutionProducts3.setStatus(OnboardedProductState.ACTIVE); institutionProducts3.setRole(PartyRole.MANAGER); - userProductsResponse.setInstitutions(List.of(institutionProducts, institutionProducts2,institutionProducts3)); + + + userProductsResponse.setInstitutions(List.of(institutionProducts, institutionProducts2,institutionProducts4, institutionProducts3)); return userProductsResponse; }