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