예제 #1
0
    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)
예제 #2
0
    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)
예제 #3
0
파일: new.py 프로젝트: ansarbek/commcare-hq
    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
예제 #4
0
    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)]],

                    }
                }
            )
예제 #6
0
 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", {}))
예제 #7
0
 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", {}))
예제 #8
0
 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', {}))
예제 #9
0
 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', {}))