package com.constellio.model.services.schemas.builders; import static com.constellio.model.entities.schemas.MetadataValueType.STRING; import static java.util.Arrays.asList; import static org.assertj.core.api.Assertions.assertThat; import org.junit.Test; public class MetadataBuilder_DefaultValueTest extends MetadataBuilderTest { @Test public void givenStringMetadataWithoutDefaultValueWhenBuiltThenOk() { metadataWithoutInheritanceBuilder.setType(STRING).setDefaultValue(null); build(); assertThat(metadataWithoutInheritance.getDefaultValue()).isNull(); } @Test public void givenStringMetadataWithoutDefaultValueWhenModifyThenOk() { metadataWithoutInheritanceBuilder.setType(STRING).setDefaultValue(null); buildAndModify(); assertThat(metadataWithoutInheritanceBuilder.getDefaultValue()).isNull(); } @Test public void givenStringMetadataWithDefaultValueWhenBuiltThenOk() { metadataWithoutInheritanceBuilder.setType(STRING).setDefaultValue("zeValue"); build(); assertThat(metadataWithoutInheritance.getDefaultValue()).isEqualTo("zeValue"); } @Test public void givenStringMetadataWithDefaultValueWhenModifyThenOk() { metadataWithoutInheritanceBuilder.setType(STRING).setDefaultValue("zeValue"); buildAndModify(); assertThat(metadataWithoutInheritanceBuilder.getDefaultValue()).isEqualTo("zeValue"); } @Test public void givenMultivaluedStringMetadataWithDefaultValueWhenBuiltThenOk() { metadataWithoutInheritanceBuilder.setType(STRING).setMultivalue(true).setDefaultValue(asList("zeValue", "anotherValue")); build(); assertThat(metadataWithoutInheritance.getDefaultValue()).isEqualTo(asList("zeValue", "anotherValue")); } @Test public void givenMultivaluedStringMetadataWithDefaultValueWhenModifyThenOk() { metadataWithoutInheritanceBuilder.setType(STRING).setMultivalue(true).setDefaultValue(asList("zeValue", "anotherValue")); buildAndModify(); assertThat(metadataWithoutInheritanceBuilder.getDefaultValue()).isEqualTo(asList("zeValue", "anotherValue")); } @Test public void givenCustomizedDefaultValueWhenBuiltThenOk() { inheritedMetadataBuilder.setType(STRING).setDefaultValue("zeValue"); metadataWithInheritanceBuilder.setDefaultValue("anotherValue"); build(); assertThat(inheritedMetadata.getDefaultValue()).isEqualTo("zeValue"); assertThat(metadataWithInheritance.getDefaultValue()).isEqualTo("anotherValue"); } @Test public void givenCustomizedDefaultValueWhenModifyThenOk() { inheritedMetadataBuilder.setType(STRING).setDefaultValue("zeValue"); metadataWithInheritanceBuilder.setDefaultValue("anotherValue"); buildAndModify(); assertThat(inheritedMetadataBuilder.getDefaultValue()).isEqualTo("zeValue"); assertThat(metadataWithInheritanceBuilder.getDefaultValue()).isEqualTo("anotherValue"); } }