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)); } }