def test_transform_dates(self, export_save): """Ensure dates are transformed for excel when `transform_dates` is set to True""" export_instance = FormExportInstance( export_format=Format.JSON, domain=DOMAIN, case_type=DEFAULT_CASE_TYPE, transform_dates=True, tables=[TableConfiguration( label="My table", selected=True, path=[], columns=[ ExportColumn( label="Date", item=MultipleChoiceItem( path=[PathNode(name='form'), PathNode(name='date')], ), selected=True, ) ] )] ) assert_instance_gives_results(self.docs, export_instance, { 'My table': { 'headers': ['Date'], 'rows': [[MISSING_VALUE], [couch_to_excel_datetime('2015-07-22T14:16:49.584880Z', None)]], } }) self.assertTrue(export_save.called)
def test_transform_dates(self, export_save): """Ensure dates are transformed for excel when `transform_dates` is set to True""" export_instance = FormExportInstance( export_format=Format.JSON, domain=DOMAIN, case_type=DEFAULT_CASE_TYPE, transform_dates=True, tables=[ TableConfiguration(label="My table", selected=True, path=[], columns=[ ExportColumn( label="Date", item=MultipleChoiceItem(path=[ PathNode(name='form'), PathNode(name='date') ], ), selected=True, ) ]) ]) assert_instance_gives_results( self.docs, export_instance, { 'My table': { 'headers': ['Date'], 'rows': [[MISSING_VALUE], [ couch_to_excel_datetime( '2015-07-22T14:16:49.584880Z', None) ]], } }) self.assertTrue(export_save.called)
def _transform(self, value, transform_dates): """ Transform the given value with the transforms specified in self.transforms. Also transform dates if the transform_dates flag is true. """ # TODO: The functions in self.transforms might expect docs, not values, in which case this needs to move. if transform_dates: value = couch_to_excel_datetime(value, None) for transform in self.transforms: value = TRANSFORM_FUNCTIONS[transform](value) return value
def test_transform_dates(self): """Ensure dates are transformed for excel when `transform_dates` is set to True""" export_instance = FormExportInstance( export_format=Format.JSON, domain=DOMAIN, case_type=DEFAULT_CASE_TYPE, transform_dates=True, tables=[ TableConfiguration(label="My table", selected=True, path=[], columns=[ ExportColumn( label="Date", item=MultipleChoiceItem(path=[ PathNode(name='form'), PathNode(name='date') ], ), selected=True, ) ]) ]) writer = _get_writer([export_instance]) with writer.open([export_instance]): _write_export_instance(writer, export_instance, self.docs) with ExportFile(writer.path, writer.format) as export: self.assertEqual( json.loads(export.read()), { u'My table': { u'headers': [u'Date'], u'rows': [[MISSING_VALUE], [ couch_to_excel_datetime( '2015-07-22T14:16:49.584880Z', None) ]], } })
def test_transform_dates(self): """Ensure dates are transformed for excel when `transform_dates` is set to True""" export_instance = FormExportInstance( export_format=Format.JSON, domain=DOMAIN, case_type=DEFAULT_CASE_TYPE, transform_dates=True, tables=[TableConfiguration( label="My table", selected=True, path=[], columns=[ ExportColumn( label="Date", item=MultipleChoiceItem( path=[PathNode(name='form'), PathNode(name='date')], ), selected=True, ) ] )] ) writer = _get_writer([export_instance]) with writer.open([export_instance]): _write_export_instance(writer, export_instance, self.docs) with ExportFile(writer.path, writer.format) as export: self.assertEqual( json.loads(export), { u'My table': { u'headers': [u'Date'], u'rows': [[None], [couch_to_excel_datetime('2015-07-22T14:16:49.584880Z', None)]], } } )
def test_couch_to_excel_datetime_old_fmt(self): self.assertEqual("2014-10-07 12:27:15", couch_to_excel_datetime("2014-10-07T12:27:15Z", {}))
def test_couch_to_excel_datetime_current_fmt(self): self.assertEqual("2015-05-14 13:03:06", couch_to_excel_datetime("2015-05-14T13:03:06.455000Z", {}))
def test_couch_to_excel_datetime_current_fmt(self): self.assertEqual( '2015-05-14 13:03:06', couch_to_excel_datetime('2015-05-14T13:03:06.455000Z', {}))
def test_couch_to_excel_datetime_old_fmt(self): self.assertEqual('2014-10-07 12:27:15', couch_to_excel_datetime('2014-10-07T12:27:15Z', {}))