Skip to content

Commit 79d66de

Browse files
[SELC-6961] Feat: Updated api updateUserProductStatus to delete users with SUSPENDED status
[SELC-6961] Feat: Updated api updateUserProductStatus to delete users with SUSPENDED status
2 parents f724b79 + 46e3735 commit 79d66de

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

apps/user-ms/src/main/java/it/pagopa/selfcare/user/service/UserInstitutionServiceDefault.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,9 +149,11 @@ private Uni<Long> evaluateStatusAndUpdateUserInstitutionProduct(UserInstitution
149149
filterBuilder.status(OnboardedProductState.SUSPENDED.name());
150150
break;
151151
case SUSPENDED:
152-
case DELETED:
153152
filterBuilder.status(OnboardedProductState.ACTIVE.name());
154153
break;
154+
case DELETED:
155+
filterBuilder.status(List.of(OnboardedProductState.ACTIVE.name(), OnboardedProductState.SUSPENDED.name()));
156+
break;
155157
default:
156158
break;
157159
}

apps/user-ms/src/test/java/it/pagopa/selfcare/user/service/UserInstitutionServiceTest.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -444,15 +444,18 @@ void updateUserStatusToSuspendWithInstitutionAndOnboardedFilter() {
444444

445445
PanacheMock.mock(UserInstitution.class);
446446
ReactivePanacheQuery query = Mockito.mock(ReactivePanacheQuery.class);
447+
ArgumentCaptor<Document> embeddedCaptor = ArgumentCaptor.forClass(Document.class);
447448
when(UserInstitution.find(any(Document.class), any())).thenReturn(query);
448449
when(query.firstResult()).thenReturn(Uni.createFrom().item(userInstitution));
449450
ReactivePanacheUpdate update = Mockito.mock(ReactivePanacheUpdate.class);
450451
when(UserInstitution.update(any(Document.class)))
451452
.thenReturn(update);
452-
when(update.where(any())).thenReturn(Uni.createFrom().item(1L));
453+
when(update.where(embeddedCaptor.capture())).thenReturn(Uni.createFrom().item(1L));
453454
UniAssertSubscriber<Long> subscriber = userInstitutionService.updateUserStatusWithOptionalFilterByInstitutionAndProduct(userId, institutionId, productId, null, productRole, OnboardedProductState.SUSPENDED)
454455
.subscribe().withSubscriber(UniAssertSubscriber.create());
455456
subscriber.assertCompleted().assertItem(1L);
457+
Assertions.assertTrue(embeddedCaptor.getValue().toString().contains(OnboardedProductState.ACTIVE.name()));
458+
Assertions.assertFalse(embeddedCaptor.getValue().toString().contains(OnboardedProductState.SUSPENDED.name()));
456459
}
457460

458461
@Test
@@ -483,15 +486,18 @@ void updateUserStatusToDeleteWithInstitutionAndOnboardedFilter() {
483486

484487
PanacheMock.mock(UserInstitution.class);
485488
ReactivePanacheQuery query = Mockito.mock(ReactivePanacheQuery.class);
489+
ArgumentCaptor<Document> embeddedCaptor = ArgumentCaptor.forClass(Document.class);
486490
when(UserInstitution.find(any(Document.class), any())).thenReturn(query);
487491
when(query.firstResult()).thenReturn(Uni.createFrom().item(userInstitution));
488492
ReactivePanacheUpdate update = Mockito.mock(ReactivePanacheUpdate.class);
489493
when(UserInstitution.update(any(Document.class)))
490494
.thenReturn(update);
491-
when(update.where(any())).thenReturn(Uni.createFrom().item(1L));
495+
when(update.where(embeddedCaptor.capture())).thenReturn(Uni.createFrom().item(1L));
492496
UniAssertSubscriber<Long> subscriber = userInstitutionService.updateUserStatusWithOptionalFilterByInstitutionAndProduct(userId, institutionId, productId, null, productRole, OnboardedProductState.DELETED)
493497
.subscribe().withSubscriber(UniAssertSubscriber.create());
494498
subscriber.assertCompleted().assertItem(1L);
499+
Assertions.assertTrue(embeddedCaptor.getValue().toString().contains(OnboardedProductState.ACTIVE.name()));
500+
Assertions.assertTrue(embeddedCaptor.getValue().toString().contains(OnboardedProductState.SUSPENDED.name()));
495501
}
496502

497503
@Test

0 commit comments

Comments
 (0)