Search in sources :

Example 1 with Record__History

use of org.motechproject.mds.testutil.records.history.Record__History in project motech by motech.

the class HistoryServiceTest method shouldCreateNewRecord.

@Test
public void shouldCreateNewRecord() throws Exception {
    Entity entity = mock(Entity.class);
    Field idField = mock(Field.class);
    doReturn("id").when(idField).getName();
    Type idType = mock(Type.class);
    doReturn(idType).when(idField).getType();
    doReturn(Long.class.getName()).when(idType).getTypeClassName();
    doReturn(Long.class).when(idType).getTypeClass();
    Field valueField = mock(Field.class);
    doReturn("value").when(valueField).getName();
    Type valueType = mock(Type.class);
    doReturn(valueType).when(valueField).getType();
    doReturn(String.class.getName()).when(valueType).getTypeClassName();
    doReturn(String.class).when(valueType).getTypeClass();
    Field dateField = mock(Field.class);
    doReturn("date").when(dateField).getName();
    Type dateType = mock(Type.class);
    doReturn(dateType).when(dateField).getType();
    doReturn(Date.class.getName()).when(dateType).getTypeClassName();
    doReturn(Date.class).when(dateType).getTypeClass();
    doReturn(17L).when(entity).getEntityVersion();
    doReturn(true).when(entity).isRecordHistory();
    doReturn(Arrays.asList(idField, valueField, dateField)).when(entity).getFields();
    doReturn(null).when(query).execute(anyLong());
    final String serviceName = ClassName.getServiceName(Record.class.getName());
    doReturn(true).when(applicationContext).containsBean(serviceName);
    doReturn(dataService).when(applicationContext).getBean(serviceName);
    doReturn(4L).when(dataService).getSchemaVersion();
    Record instance = new Record();
    historyService.record(instance);
    verify(manager).makePersistent(recordHistoryCaptor.capture());
    Record__History history = recordHistoryCaptor.getValue();
    assertEquals(instance.getId(), history.getRecord__HistoryCurrentVersion());
    assertEquals(Long.valueOf(4), history.getRecord__HistorySchemaVersion());
    assertEquals(instance.getValue(), history.getValue());
    assertEquals(instance.getDate(), history.getDate());
}
Also used : Entity(org.motechproject.mds.domain.Entity) Field(org.motechproject.mds.domain.Field) Type(org.motechproject.mds.domain.Type) Matchers.anyLong(org.mockito.Matchers.anyLong) Record(org.motechproject.mds.testutil.records.Record) Matchers.anyString(org.mockito.Matchers.anyString) Record__History(org.motechproject.mds.testutil.records.history.Record__History) Date(java.util.Date) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest) Test(org.junit.Test)

Aggregations

Date (java.util.Date)1 Test (org.junit.Test)1 Matchers.anyLong (org.mockito.Matchers.anyLong)1 Matchers.anyString (org.mockito.Matchers.anyString)1 Entity (org.motechproject.mds.domain.Entity)1 Field (org.motechproject.mds.domain.Field)1 Type (org.motechproject.mds.domain.Type)1 Record (org.motechproject.mds.testutil.records.Record)1 Record__History (org.motechproject.mds.testutil.records.history.Record__History)1 PrepareForTest (org.powermock.core.classloader.annotations.PrepareForTest)1