diff --git a/apps/onboarding-ms/src/main/docs/openapi.json b/apps/onboarding-ms/src/main/docs/openapi.json index 251c9dd03..e28a01fda 100644 --- a/apps/onboarding-ms/src/main/docs/openapi.json +++ b/apps/onboarding-ms/src/main/docs/openapi.json @@ -154,6 +154,12 @@ "schema" : { "type" : "string" } + }, { + "name" : "subunitCode", + "in" : "query", + "schema" : { + "type" : "string" + } }, { "name" : "taxCode", "in" : "query", @@ -1868,6 +1874,9 @@ "onboardingId" : { "type" : "string" }, + "subunitCode" : { + "type" : "string" + }, "taxCode" : { "type" : "string" }, diff --git a/apps/onboarding-ms/src/main/docs/openapi.yaml b/apps/onboarding-ms/src/main/docs/openapi.yaml index 1846ab47f..e2140ac76 100644 --- a/apps/onboarding-ms/src/main/docs/openapi.yaml +++ b/apps/onboarding-ms/src/main/docs/openapi.yaml @@ -109,6 +109,10 @@ paths: in: query schema: type: string + - name: subunitCode + in: query + schema: + type: string - name: taxCode in: query schema: @@ -1318,6 +1322,8 @@ components: type: string onboardingId: type: string + subunitCode: + type: string taxCode: type: string status: diff --git a/apps/onboarding-ms/src/main/java/it/pagopa/selfcare/onboarding/controller/OnboardingController.java b/apps/onboarding-ms/src/main/java/it/pagopa/selfcare/onboarding/controller/OnboardingController.java index 298993d10..2dda8019a 100644 --- a/apps/onboarding-ms/src/main/java/it/pagopa/selfcare/onboarding/controller/OnboardingController.java +++ b/apps/onboarding-ms/src/main/java/it/pagopa/selfcare/onboarding/controller/OnboardingController.java @@ -245,6 +245,7 @@ public Uni getOnboardingWithFilter(@QueryParam(value = "p @QueryParam(value = "taxCode") String taxCode, @QueryParam(value = "institutionId") String institutionId, @QueryParam(value = "onboardingId") String onboardingId, + @QueryParam(value = "subunitCode") String subunitCode, @QueryParam(value = "from") String from, @QueryParam(value = "to") String to, @QueryParam(value = "status") String status, @@ -255,6 +256,7 @@ public Uni getOnboardingWithFilter(@QueryParam(value = "p .taxCode(taxCode) .institutionId(institutionId) .onboardingId(onboardingId) + .subunitCode(subunitCode) .from(from) .to(to) .status(status) diff --git a/apps/onboarding-ms/src/main/java/it/pagopa/selfcare/onboarding/model/OnboardingGetFilters.java b/apps/onboarding-ms/src/main/java/it/pagopa/selfcare/onboarding/model/OnboardingGetFilters.java index 6e3cc4f9f..d73c99ab7 100644 --- a/apps/onboarding-ms/src/main/java/it/pagopa/selfcare/onboarding/model/OnboardingGetFilters.java +++ b/apps/onboarding-ms/src/main/java/it/pagopa/selfcare/onboarding/model/OnboardingGetFilters.java @@ -11,6 +11,7 @@ public class OnboardingGetFilters { private String productId; private String institutionId; private String onboardingId; + private String subunitCode; private String taxCode; private String status; private String from; diff --git a/apps/onboarding-ms/src/main/java/it/pagopa/selfcare/onboarding/util/QueryUtils.java b/apps/onboarding-ms/src/main/java/it/pagopa/selfcare/onboarding/util/QueryUtils.java index cacc15112..cccb27fd6 100644 --- a/apps/onboarding-ms/src/main/java/it/pagopa/selfcare/onboarding/util/QueryUtils.java +++ b/apps/onboarding-ms/src/main/java/it/pagopa/selfcare/onboarding/util/QueryUtils.java @@ -83,6 +83,7 @@ public static Map createMapForOnboardingQueryParameter(Onboardin Map queryParameterMap = new HashMap<>(); Optional.ofNullable(filters.getProductId()).ifPresent(value -> queryParameterMap.put(PRODUCT, value)); Optional.ofNullable(filters.getTaxCode()).ifPresent(value -> queryParameterMap.put(INSTITUTION_TAX_CODE, value)); + Optional.ofNullable(filters.getSubunitCode()).ifPresent(value -> queryParameterMap.put(INSTITUTION_SUBUNIT_CODE, value)); Optional.ofNullable(filters.getStatus()).ifPresent(value -> queryParameterMap.put(STATUS, value)); Optional.ofNullable(filters.getFrom()).ifPresent(value -> queryParameterMap.put(FROM, value)); Optional.ofNullable(filters.getTo()).ifPresent(value -> queryParameterMap.put(TO, value)); diff --git a/apps/onboarding-ms/src/test/java/it/pagopa/selfcare/onboarding/controller/OnboardingControllerTest.java b/apps/onboarding-ms/src/test/java/it/pagopa/selfcare/onboarding/controller/OnboardingControllerTest.java index dc9c0f89f..22b47f0b3 100644 --- a/apps/onboarding-ms/src/test/java/it/pagopa/selfcare/onboarding/controller/OnboardingControllerTest.java +++ b/apps/onboarding-ms/src/test/java/it/pagopa/selfcare/onboarding/controller/OnboardingControllerTest.java @@ -392,6 +392,7 @@ void getOnboarding() { OnboardingGetFilters filters = OnboardingGetFilters.builder() .productId("prod-io") .taxCode("taxCode") + .subunitCode("subunitCode") .from("2023-12-01") .to("2023-12-31") .status("ACTIVE") 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 c0c392ac2..74af8551a 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 @@ -1105,6 +1105,30 @@ void testOnboardingGet() { subscriber.assertCompleted().assertItem(getResponse); } + @Test + void testOnboardingGet2() { + int page = 0, size = 3; + Onboarding onboarding = createDummyOnboarding(); + mockFindOnboarding(onboarding); + OnboardingGetResponse getResponse = getOnboardingGetResponse(onboarding); + OnboardingGetFilters filters = OnboardingGetFilters.builder() + .productId("prod-io") + .taxCode("taxCode") + .subunitCode("subunitCode") + .from("2023-12-01") + .to("2023-12-31") + .status("ACTIVE") + .page(page) + .size(size) + .build(); + UniAssertSubscriber subscriber = onboardingService + .onboardingGet(filters) + .subscribe() + .withSubscriber(UniAssertSubscriber.create()); + + subscriber.assertCompleted().assertItem(getResponse); + } + private OnboardingGetResponse getOnboardingGetResponse(Onboarding onboarding) { OnboardingGet onboardingGet = onboardingMapper.toGetResponse(onboarding); OnboardingGetResponse response = new OnboardingGetResponse();