package jnpf.elnService.cross;
|
|
import jnpf.elnEntity.field.ElnFieldVersionEntity;
|
import jnpf.elnEntity.template.ElnTemplateBindingEntity;
|
import org.junit.Test;
|
|
import static org.junit.Assert.assertFalse;
|
import static org.junit.Assert.assertTrue;
|
|
public class ElnCrossTemplateScalarReferencePolicyTest {
|
|
@Test
|
public void allowsPublishedGlobalScalarPrimaryFieldsFromAnotherPublishedTemplate() {
|
ElnFieldVersionEntity version = new ElnFieldVersionEntity();
|
version.setBizStatus("PUBLISHED");
|
version.setShujuLeixing("TEXT");
|
ElnTemplateBindingEntity binding = new ElnTemplateBindingEntity();
|
binding.setBangdingZhuangtai("ACTIVE");
|
binding.setKongjianJuese("PRIMARY");
|
|
assertTrue(ElnCrossTemplateScalarReferencePolicy.isEligible(
|
"target-template", "source-template", "PUBLISHED", "GLOBAL", version, binding));
|
assertFalse(ElnCrossTemplateScalarReferencePolicy.isEligible(
|
"target-template", "target-template", "PUBLISHED", "GLOBAL", version, binding));
|
assertFalse(ElnCrossTemplateScalarReferencePolicy.isEligible(
|
"target-template", "source-template", "DRAFT", "GLOBAL", version, binding));
|
assertFalse(ElnCrossTemplateScalarReferencePolicy.isEligible(
|
"target-template", "source-template", "PUBLISHED", "TEMPLATE", version, binding));
|
binding.setRepeatGroupCode("results");
|
assertFalse(ElnCrossTemplateScalarReferencePolicy.isEligible(
|
"target-template", "source-template", "PUBLISHED", "GLOBAL", version, binding));
|
binding.setRepeatGroupCode(null);
|
for (String type : new String[] {"TEXT", "TEXTAREA", "DECIMAL", "DATE", "DATETIME", "SELECT", "CHECKBOX"}) {
|
version.setShujuLeixing(type);
|
assertTrue(type, ElnCrossTemplateScalarReferencePolicy.isEligible(
|
"target-template", "source-template", "PUBLISHED", "GLOBAL", version, binding));
|
}
|
version.setShujuLeixing("UNKNOWN");
|
assertFalse(ElnCrossTemplateScalarReferencePolicy.isEligible(
|
"target-template", "source-template", "PUBLISHED", "GLOBAL", version, binding));
|
}
|
}
|