Search in sources :

Example 1 with Entity

use of org.motechproject.mds.domain.Entity in project motech by motech.

the class TrashServiceTest method shouldMoveObjectToTrash.

@Test
public void shouldMoveObjectToTrash() throws Exception {
    doReturn(Record__Trash.class).when(classLoader).loadClass(Record__Trash.class.getName());
    Entity entity = mock(Entity.class);
    Field field = mock(Field.class);
    Type type = mock(Type.class);
    doReturn(17L).when(entity).getEntityVersion();
    doReturn(field).when(entity).getField("id");
    doReturn(field).when(entity).getField("value");
    doReturn(type).when(field).getType();
    doReturn(false).when(type).isRelationship();
    doReturn(entity).when(allEntities).retrieveByClassName(anyString());
    Record instance = new Record();
    trashService.moveToTrash(instance, 1L);
    verify(manager).makePersistent(trashCaptor.capture());
    Record__Trash trash = trashCaptor.getValue();
    assertEquals(instance.getValue(), trash.getValue());
}
Also used : Record__Trash(org.motechproject.mds.testutil.records.history.Record__Trash) Entity(org.motechproject.mds.domain.Entity) Field(org.motechproject.mds.domain.Field) Type(org.motechproject.mds.domain.Type) Record(org.motechproject.mds.testutil.records.Record) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest) Test(org.junit.Test)

Example 2 with Entity

use of org.motechproject.mds.domain.Entity in project motech by motech.

the class EntityWriterTest method shouldWriteUnmodifiedDDE.

@Test
public void shouldWriteUnmodifiedDDE() throws IOException {
    Entity dde = buildUnmodifiedDDE();
    String ddeJsonResource = "json/EntityWriterTest_UnmodifiedDDE.json";
    assertEntityWrittenCorrectly(dde, ddeJsonResource);
}
Also used : Entity(org.motechproject.mds.domain.Entity) Test(org.junit.Test)

Example 3 with Entity

use of org.motechproject.mds.domain.Entity in project motech by motech.

the class EntityWriterTest method shouldWriteEUDE.

@Test
public void shouldWriteEUDE() throws IOException {
    Entity eude = buildEUDE();
    String eudeJsonResource = "json/EntityWriterTest_EUDE.json";
    assertEntityWrittenCorrectly(eude, eudeJsonResource);
}
Also used : Entity(org.motechproject.mds.domain.Entity) Test(org.junit.Test)

Example 4 with Entity

use of org.motechproject.mds.domain.Entity in project motech by motech.

the class PropertyBuilderTest method shouldGenerateAppropriatePropertyType.

@Test
public void shouldGenerateAppropriatePropertyType() throws Exception {
    Set<String> set = new HashSet<>();
    Range<Integer> range = new Range<>(0, 1);
    Type type = new Type("mds.field.combobox", "", List.class);
    Entity entity = new Entity("org.motechproject.mds.Sample");
    Field field = new Field(entity, "roles", "roles", type, true, false, false);
    // should not create collection property for fields without list field
    assertProperty(PropertyBuilder.create("roles", 1L, Long.class.getName()), EqualProperty.class, "roles", 1L);
    field.addSetting(new FieldSetting(field, new TypeSetting(Constants.Settings.ALLOW_MULTIPLE_SELECTIONS), "true"));
    // should create collection property for enum list
    assertProperty(PropertyBuilder.create(field, "role"), CollectionProperty.class, "roles", Arrays.asList("role"));
    field.addSetting(new FieldSetting(field, new TypeSetting(Constants.Settings.ALLOW_USER_SUPPLIED), "true"));
    // should create collection property for string list
    assertProperty(PropertyBuilder.create(field, "role"), CollectionProperty.class, "roles", Arrays.asList("role"));
    assertProperty(PropertyBuilder.create("set", set, String.class), SetProperty.class, "set", set);
    assertProperty(PropertyBuilder.create("range", range, Integer.class), RangeProperty.class, "range", range);
    assertProperty(PropertyBuilder.create("equal", 1L, Long.class), EqualProperty.class, "equal", 1L);
    assertProperty(PropertyBuilder.create("text", "someString", String.class.getName(), "matches()"), MatchesProperty.class, "text", ".*someString.*");
    assertProperty(PropertyBuilder.create("text", "someString", String.class.getName(), "matches((?i))"), MatchesCaseInsensitiveProperty.class, "text", "(?i).*someString.*");
}
Also used : FieldSetting(org.motechproject.mds.domain.FieldSetting) Entity(org.motechproject.mds.domain.Entity) Field(org.motechproject.mds.domain.Field) Type(org.motechproject.mds.domain.Type) TypeSetting(org.motechproject.mds.domain.TypeSetting) Range(org.motechproject.commons.api.Range) HashSet(java.util.HashSet) Test(org.junit.Test)

Example 5 with Entity

use of org.motechproject.mds.domain.Entity in project motech by motech.

the class RelationshipResolver method removeUnresolvedEntities.

public List<Entity> removeUnresolvedEntities(Set<Entity> entities) {
    List<Entity> resolvedEntities = new ArrayList<>();
    EntitiesRetriever entitiesRetriever = new EntitiesRetriever(entities);
    for (Entity entity : entities) {
        if (isEntityResolved(entity, new ArrayList<>(), new ArrayList<>(), entitiesRetriever)) {
            resolvedEntities.add(entity);
        }
    }
    return resolvedEntities;
}
Also used : Entity(org.motechproject.mds.domain.Entity) ArrayList(java.util.ArrayList)

Aggregations

Entity (org.motechproject.mds.domain.Entity)97 Test (org.junit.Test)35 Field (org.motechproject.mds.domain.Field)33 MdsEntity (org.motechproject.mds.domain.MdsEntity)32 MdsVersionedEntity (org.motechproject.mds.domain.MdsVersionedEntity)32 Transactional (org.springframework.transaction.annotation.Transactional)32 ArrayList (java.util.ArrayList)14 Lookup (org.motechproject.mds.domain.Lookup)12 UserPreferences (org.motechproject.mds.domain.UserPreferences)8 Type (org.motechproject.mds.domain.Type)7 AllUserPreferences (org.motechproject.mds.repository.internal.AllUserPreferences)7 EntityDto (org.motechproject.mds.dto.EntityDto)6 LookupFieldDto (org.motechproject.mds.dto.LookupFieldDto)6 HashMap (java.util.HashMap)5 FieldDto (org.motechproject.mds.dto.FieldDto)5 HashSet (java.util.HashSet)4 EntityDraft (org.motechproject.mds.domain.EntityDraft)4 MotechDataService (org.motechproject.mds.service.MotechDataService)4 Query (javax.jdo.Query)3 FieldSetting (org.motechproject.mds.domain.FieldSetting)3