Skip to content

Commit

Permalink
chore: unit test product-sdk
Browse files Browse the repository at this point in the history
  • Loading branch information
manuraf committed Oct 1, 2024
1 parent db467f3 commit 72114a2
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
import it.pagopa.selfcare.product.entity.ProductRoleInfo;
import it.pagopa.selfcare.product.exception.InvalidRoleMappingException;
import it.pagopa.selfcare.product.exception.ProductNotFoundException;
import it.pagopa.selfcare.product.service.ProductServiceDefault;
import org.junit.jupiter.api.Test;

import java.util.HashMap;
Expand All @@ -24,7 +23,7 @@ public class ProductServiceDefaultTest {
"{\"id\":\"prod-inactive\",\"status\":\"INACTIVE\"}]";

final private String PRODUCT_JSON_STRING_WITH_ROLEMAPPING = "[{\"id\":\"prod-test-parent\",\"status\":\"ACTIVE\"}," +
"{\"id\":\"prod-test\", \"parentId\":\"prod-test-parent\",\"status\":\"ACTIVE\", \"roleMappings\" : {\"MANAGER\":{\"roles\":[{\"code\":\"operatore\"}]}}}," +
"{\"id\":\"prod-test\", \"parentId\":\"prod-test-parent\",\"status\":\"ACTIVE\", \"roleMappings\" : {\"MANAGER\":{\"roles\":[{\"code\":\"operatore\"}], \"phasesAdditionAllowed\":[\"onboarding\"]}}}," +
"{\"id\":\"prod-inactive\",\"status\":\"INACTIVE\"}]";

@Test
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
package it.pagopa.selfcare.product.utils;

import it.pagopa.selfcare.onboarding.common.PartyRole;
import it.pagopa.selfcare.product.entity.PHASE_ADDITION_ALLOWED;
import it.pagopa.selfcare.product.entity.Product;
import it.pagopa.selfcare.product.entity.ProductRole;
import it.pagopa.selfcare.product.entity.ProductRoleInfo;
import org.junit.jupiter.api.Test;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import static org.junit.jupiter.api.Assertions.assertEquals;

public class ProductUtilsTest {

private final static String productRoleManager = "admin";

@Test
void validRoles() {
Product product = dummyProduct();
List<PartyRole> partyRoles = ProductUtils.validRoles(product, PHASE_ADDITION_ALLOWED.ONBOARDING);
assertEquals(1, partyRoles.size());
assertEquals(PartyRole.MANAGER, partyRoles.get(0));
}

@Test
void validRolesByProductRole() {
Product product = dummyProduct();
List<PartyRole> partyRoles = ProductUtils.validRolesByProductRole(product, PHASE_ADDITION_ALLOWED.ONBOARDING, productRoleManager);
assertEquals(1, partyRoles.size());
assertEquals(PartyRole.MANAGER, partyRoles.get(0));
}

Product dummyProduct() {

ProductRole productRole = new ProductRole();
productRole.setCode(productRoleManager);
ProductRoleInfo productRoleInfo = new ProductRoleInfo();
productRoleInfo.setRoles(List.of(productRole));
productRoleInfo.setPhasesAdditionAllowed(List.of(PHASE_ADDITION_ALLOWED.ONBOARDING.value));

ProductRole productRoleOperator = new ProductRole();
productRoleOperator.setCode("operator");
ProductRoleInfo productRoleInfoOperator = new ProductRoleInfo();
productRoleInfoOperator.setRoles(List.of(productRoleOperator));
productRoleInfoOperator.setPhasesAdditionAllowed(List.of(PHASE_ADDITION_ALLOWED.DASHBOARD.value));

Map<PartyRole, ProductRoleInfo> roleMapping = new HashMap<>();
roleMapping.put(PartyRole.MANAGER, productRoleInfo);
roleMapping.put(PartyRole.OPERATOR, productRoleInfoOperator);

Product productResource = new Product();
productResource.setId("productId");
productResource.setRoleMappings(roleMapping);
return productResource;
}
}

0 comments on commit 72114a2

Please sign in to comment.