From d7be3a49761d3aae8a44968372f38960a8b70dee Mon Sep 17 00:00:00 2001 From: Giulia Tremolada Date: Wed, 6 Nov 2024 11:11:07 +0100 Subject: [PATCH] add unit tests --- .../selfcare/product/entity/ProductTest.java | 67 +++++++++++++++++-- 1 file changed, 61 insertions(+), 6 deletions(-) diff --git a/libs/onboarding-sdk-product/src/test/java/it/pagopa/selfcare/product/entity/ProductTest.java b/libs/onboarding-sdk-product/src/test/java/it/pagopa/selfcare/product/entity/ProductTest.java index 68a129af5..094c549f6 100644 --- a/libs/onboarding-sdk-product/src/test/java/it/pagopa/selfcare/product/entity/ProductTest.java +++ b/libs/onboarding-sdk-product/src/test/java/it/pagopa/selfcare/product/entity/ProductTest.java @@ -1,16 +1,10 @@ package it.pagopa.selfcare.product.entity; -import static org.junit.jupiter.api.Assertions.*; - import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import it.pagopa.selfcare.onboarding.common.InstitutionType; import it.pagopa.selfcare.onboarding.common.PartyRole; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.util.*; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; import org.junit.jupiter.api.DisplayName; @@ -18,6 +12,13 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.util.*; + +import static org.junit.jupiter.api.Assertions.*; + public class ProductTest { private static final Logger log = LoggerFactory.getLogger(ProductTest.class); @@ -277,4 +278,58 @@ void productTest() { .asText()); assertEquals(product.getStatus().toString(), jsonNode.get("status").asText()); } + + @Test + void testGetUserAggregatorContractTemplate_WithValidInstitutionType() { + // Setup + Product product = new Product(); + Map mappings = new HashMap<>(); + ContractTemplate contractTemplate = new ContractTemplate(); + contractTemplate.setContractTemplatePath("path"); + contractTemplate.setContractTemplatePath("version"); + mappings.put("validType", contractTemplate); + product.setUserAggregatorContractMappings(mappings); + + // Execute + ContractTemplate result = product.getUserAggregatorContractTemplate("validType"); + + // Verify + assertNotNull(result); + assertEquals(mappings.get("validType"), result); + } + + @Test + void testGetUserAggregatorContractTemplate_WithDefault() { + // Setup + Product product = new Product(); + Map mappings = new HashMap<>(); + ContractTemplate contractTemplate = new ContractTemplate(); + contractTemplate.setContractTemplatePath("path"); + contractTemplate.setContractTemplatePath("version"); + mappings.put("default", contractTemplate); + product.setUserAggregatorContractMappings(mappings); + + // Execute + ContractTemplate result = product.getUserAggregatorContractTemplate("unknownType"); + + // Verify + assertNotNull(result); + assertEquals(mappings.get("default"), result); + } + + @Test + void testGetUserAggregatorContractTemplate_NoMappings() { + // Setup + Product product = new Product(); + product.setUserAggregatorContractMappings(null); + + // Execute + ContractTemplate result = product.getUserAggregatorContractTemplate("anyType"); + + // Verify + assertNotNull(result); + assertEquals(ContractTemplate.class, result.getClass()); + assertNull(result.getContractTemplatePath()); + assertNull(result.getContractTemplateVersion()); + } }