From b3abbfa374fdcc068c02d33bc2e2b61023cbc0df Mon Sep 17 00:00:00 2001 From: pierpaolodidato89 <137791912+pierpaolodidato89@users.noreply.github.com> Date: Tue, 3 Sep 2024 17:42:43 +0200 Subject: [PATCH] [SELC-5469] feat: added condition to match PRV onboarding with workflowType CONTRACT_REGISTRATION --- .../service/OnboardingServiceDefault.java | 3 +- .../service/util/OnboardingUtils.java | 1 - .../service/OnboardingServiceDefaultTest.java | 35 +++++++++++++++++++ 3 files changed, 37 insertions(+), 2 deletions(-) diff --git a/apps/onboarding-ms/src/main/java/it/pagopa/selfcare/onboarding/service/OnboardingServiceDefault.java b/apps/onboarding-ms/src/main/java/it/pagopa/selfcare/onboarding/service/OnboardingServiceDefault.java index 2f1988c21..623490663 100644 --- a/apps/onboarding-ms/src/main/java/it/pagopa/selfcare/onboarding/service/OnboardingServiceDefault.java +++ b/apps/onboarding-ms/src/main/java/it/pagopa/selfcare/onboarding/service/OnboardingServiceDefault.java @@ -374,7 +374,8 @@ private WorkflowType getWorkflowType(Onboarding onboarding) { if (InstitutionType.PA.equals(institutionType) || isGspAndProdInterop(institutionType, onboarding.getProductId()) || InstitutionType.SA.equals(institutionType) - || InstitutionType.AS.equals(institutionType)) { + || InstitutionType.AS.equals(institutionType) + || InstitutionType.PRV.equals(institutionType)) { return WorkflowType.CONTRACT_REGISTRATION; } diff --git a/apps/onboarding-ms/src/main/java/it/pagopa/selfcare/onboarding/service/util/OnboardingUtils.java b/apps/onboarding-ms/src/main/java/it/pagopa/selfcare/onboarding/service/util/OnboardingUtils.java index 675bc7ffb..c749d951c 100644 --- a/apps/onboarding-ms/src/main/java/it/pagopa/selfcare/onboarding/service/util/OnboardingUtils.java +++ b/apps/onboarding-ms/src/main/java/it/pagopa/selfcare/onboarding/service/util/OnboardingUtils.java @@ -1,7 +1,6 @@ package it.pagopa.selfcare.onboarding.service.util; import io.smallrye.mutiny.Uni; -import it.pagopa.selfcare.onboarding.common.InstitutionPaSubunitType; import it.pagopa.selfcare.onboarding.common.InstitutionType; import it.pagopa.selfcare.onboarding.common.ProductId; import it.pagopa.selfcare.onboarding.constants.CustomError; diff --git a/apps/onboarding-ms/src/test/java/it/pagopa/selfcare/onboarding/service/OnboardingServiceDefaultTest.java b/apps/onboarding-ms/src/test/java/it/pagopa/selfcare/onboarding/service/OnboardingServiceDefaultTest.java index 3c829709c..50431956b 100644 --- a/apps/onboarding-ms/src/test/java/it/pagopa/selfcare/onboarding/service/OnboardingServiceDefaultTest.java +++ b/apps/onboarding-ms/src/test/java/it/pagopa/selfcare/onboarding/service/OnboardingServiceDefaultTest.java @@ -535,6 +535,41 @@ void mockSimpleSearchPOSTAndPersist(UniAsserter asserter) { .thenReturn(Uni.createFrom().item(new OrchestrationResponse()))); } + @Test + @RunOnVertxContext + void onboarding_PRV(UniAsserter asserter) { + Onboarding request = new Onboarding(); + List users = List.of(manager); + request.setProductId(PROD_INTEROP.getValue()); + Institution institutionBaseRequest = new Institution(); + institutionBaseRequest.setInstitutionType(InstitutionType.PRV); + institutionBaseRequest.setTaxCode("taxCode"); + request.setInstitution(institutionBaseRequest); + List aggregates = new ArrayList<>(); + AggregateInstitution institution = new AggregateInstitution(); + aggregates.add(institution); + request.setAggregates(aggregates); + + mockPersistOnboarding(asserter); + + asserter.execute(() -> when(userRegistryApi.updateUsingPATCH(any(), any())) + .thenReturn(Uni.createFrom().item(Response.noContent().build()))); + + mockSimpleSearchPOSTAndPersist(asserter); + mockSimpleProductValidAssert(request.getProductId(), false, asserter); + mockVerifyOnboardingNotFound(); + mockVerifyAllowedMap(request.getInstitution().getTaxCode(), request.getProductId(), asserter); + + asserter.assertThat(() -> onboardingService.onboarding(request, users), Assertions::assertNotNull); + + asserter.execute(() -> { + PanacheMock.verify(Onboarding.class).persist(any(Onboarding.class), any()); + PanacheMock.verify(Onboarding.class).persistOrUpdate(any(List.class)); + PanacheMock.verify(Onboarding.class).find(any(Document.class)); + PanacheMock.verifyNoMoreInteractions(Onboarding.class); + }); + } + @Test @RunOnVertxContext void onboarding_Onboarding_Aggregator(UniAsserter asserter) {