use of org.motechproject.mds.domain.Entity in project motech by motech.
the class InstancesWriterTest method shouldWriteMultiValueComboboxProperty.
@Test
public void shouldWriteMultiValueComboboxProperty() throws Exception {
Entity entity = EntitySchemaBuilder.eude(ENTITY).field(PROPERTY, "mds.field.combobox").setting(ALLOW_MULTIPLE_SELECTIONS, TRUE).metadata(ENUM_CLASS_NAME, ABC.class.getName()).done().build();
List<ABC> combobox = asList(ABC.A, ABC.C);
assertInstanceWrittenCorrectly(entity, new EntityWithProperty<>(1L, combobox), "{\"refId\":1,\"property\":[\"A\", \"C\"]}");
}
use of org.motechproject.mds.domain.Entity in project motech by motech.
the class InstancesWriterTest method shouldWriteSingleValueComboboxProperty.
@Test
public void shouldWriteSingleValueComboboxProperty() throws Exception {
Entity entity = EntitySchemaBuilder.eude(ENTITY).field(PROPERTY, "mds.field.combobox").setting(ALLOW_MULTIPLE_SELECTIONS, FALSE).metadata(ENUM_CLASS_NAME, "org.motechproject.mds.json.InstanceWriterTest.ABC").done().build();
ABC combobox = ABC.A;
assertInstanceWrittenCorrectly(entity, new EntityWithProperty<>(1L, combobox), "{\"refId\":1,\"property\":\"A\"}");
}
use of org.motechproject.mds.domain.Entity in project motech by motech.
the class InstancesWriterTest method shouldWriteManyRefIdRelationshipProperty.
@Test
public void shouldWriteManyRefIdRelationshipProperty() throws Exception {
Entity entity = EntitySchemaBuilder.eude(ENTITY).field(PROPERTY, "mds.field.relationship.oneToMany").metadata(RELATED_CLASS, EntityWithProperty.class.getName()).metadata(RELATED_FIELD, PROPERTY).done().build();
EntityWithProperty<ArrayList<EntityWithProperty>> instance = new EntityWithProperty<>(1L, new ArrayList<EntityWithProperty>());
EntityWithProperty<EntityWithProperty> relatedInstanceOne = new EntityWithProperty<EntityWithProperty>(42L, instance);
EntityWithProperty<EntityWithProperty> relatedInstanceTwo = new EntityWithProperty<EntityWithProperty>(57L, instance);
instance.getProperty().add(relatedInstanceOne);
instance.getProperty().add(relatedInstanceTwo);
assertInstanceWrittenCorrectly(entity, instance, "{\"refId\":1,\"property\":[42,57]}");
}
use of org.motechproject.mds.domain.Entity in project motech by motech.
the class InstancesWriterTest method shouldWriteNullForNullBlobProperty.
@Test
public void shouldWriteNullForNullBlobProperty() throws Exception {
Entity entity = EntitySchemaBuilder.eude(ENTITY).field(PROPERTY, "mds.field.blob").done().build();
byte[] blob = null;
EntityWithProperty<byte[]> instance = new EntityWithProperty<>(1L, blob);
when(dataService.getDetachedField(eq(instance), eq(PROPERTY))).thenReturn(blob);
assertInstanceWrittenCorrectly(entity, instance, NULL_PROPERTY_JSON);
}
use of org.motechproject.mds.domain.Entity in project motech by motech.
the class InstancesWriterTest method shouldWriteBlobProperty.
@Test
public void shouldWriteBlobProperty() throws Exception {
Entity entity = EntitySchemaBuilder.eude(ENTITY).field(PROPERTY, "mds.field.blob").done().build();
byte[] blob = "This is blob!".getBytes();
EntityWithProperty<byte[]> instance = new EntityWithProperty<>(1L, blob);
when(dataService.getDetachedField(eq(instance), eq(PROPERTY))).thenReturn(blob);
assertInstanceWrittenCorrectly(entity, instance, "{\"refId\":1,\"property\":\"VGhpcyBpcyBibG9iIQ==\"}");
}
Aggregations