def test_double_repeat(self): table_configuration = TableConfiguration( path=[ PathNode(name="form", is_repeat=False), PathNode(name="repeat1", is_repeat=True), PathNode(name="group1", is_repeat=False), PathNode(name="repeat2", is_repeat=True), ], columns=[ RowNumberColumn( selected=True ), ExportColumn( item=ScalarItem( path=[ PathNode(name='form'), PathNode(name='repeat1', is_repeat=True), PathNode(name='group1'), PathNode(name='repeat2', is_repeat=True), PathNode(name='q1') ], ), selected=True, ), ] ) submission = { 'domain': 'my-domain', '_id': '1234', 'form': { 'repeat1': [ { 'group1': { 'repeat2': [ {'q1': 'foo'}, {'q1': 'bar'} ] } }, { 'group1': { 'repeat2': [ {'q1': 'beep'}, {'q1': 'boop'} ] } }, ] } } self.assertEqual( [row.data for row in table_configuration.get_rows(submission, 0)], [ ["0.0.0", 0, 0, 0, 'foo'], ["0.0.1", 0, 0, 1, 'bar'], ["0.1.0", 0, 1, 0, 'beep'], ["0.1.1", 0, 1, 1, 'boop'] ] )
def test_row_number_column_is_removed(self): export_with_row_number_column = ExportInstance( is_odata_config=True, tables=[ TableConfiguration(columns=[ RowNumberColumn(label='row-number', ), ExportColumn( label='label', item=ExportItem(path=[PathNode(name='val')]), selected=True, ) ]) ]) export_with_row_number_column.save() self.addCleanup(export_with_row_number_column.delete) cleaned_export = ExportInstance.get( export_with_row_number_column.get_id) tables = cleaned_export.tables self.assertEqual(len(tables), 1) columns = tables[0].columns self.assertEqual(len(columns), 1) self.assertFalse(isinstance(columns[0], RowNumberColumn)) self.assertEqual(columns[0].label, 'label')
OWNER_ID_TRANSFORM, PROPERTY_TAG_NONE) from corehq.apps.export.models import ( ExportColumn, ExportItem, PathNode, StockExportColumn, RowNumberColumn, SplitGPSExportColumn, GeopointItem, ) # System properties to be displayed above the form questions TOP_MAIN_FORM_TABLE_PROPERTIES = [ RowNumberColumn( tags=[PROPERTY_TAG_ROW], label="number", item=ExportItem(path=[PathNode(name='number')]), selected=True, ), ExportColumn( tags=[PROPERTY_TAG_INFO], label="formid", item=ExportItem(path=[ PathNode(name='form'), PathNode(name='meta'), PathNode(name='instanceID') ]), help_text=_('Unique identifier of the form submission'), selected=True, ) ]
def test_get_value_with_simple_index(self): col = RowNumberColumn() self.assertEqual( col.get_value('domain', 'docid', {}, [], row_index=(7,)), ["7"] )
def test_get_value_with_compound_index(self): col = RowNumberColumn() self.assertEqual( col.get_value('domain', 'docid', {}, [], row_index=(12, 0, 6, 1)), ["12.0.6.1", 12, 0, 6, 1] )
def test_get_headers(self): col = RowNumberColumn(label="row number", repeat=2) self.assertEqual( col.get_headers(), ['row number', 'row number__0', 'row number__1', 'row number__2'] )
def test_get_value_with_compound_index(self): col = RowNumberColumn() self.assertEqual( col.get_value('domain', 'docid', {}, [], row_index=(12, 0, 6, 1)), ["12.0.6.1", 12, 0, 6, 1])
def test_get_value_with_simple_index(self): col = RowNumberColumn() self.assertEqual( col.get_value('domain', 'docid', {}, [], row_index=(7, )), ["7"])
def test_get_headers(self): col = RowNumberColumn(label="row number", repeat=2) self.assertEqual( col.get_headers(), ['row number', 'row number__0', 'row number__1', 'row number__2'])
def test_get_headers(self): col = RowNumberColumn(label="row number", repeat=2) self.assertEqual(col.get_headers(), ["row number", "row number__0", "row number__1", "row number__2"])