Ejemplo n.º 1
0
    def test_is_project__returns_false(self):
        # given
        worksheet = spreadsheet_utils.create_worksheet('not a Project', [])
        ingest_worksheet = IngestWorksheet(worksheet)

        # when and then
        self.assertFalse(ingest_worksheet.is_project())
    def test_get_data_rows(self):
        # given:
        start_row_idx = 6
        header_row_idx = 4

        header_row = ['name', 'address', 'mobile', 'email']
        expected_data_row = ['Jane Doe', 'Cambridge', '12-345-67', '*****@*****.**']

        rows = [[], [], [], [], [], []]  # initialise 6 rows
        rows[header_row_idx-1] = header_row
        rows[start_row_idx-1] = expected_data_row

        worksheet = spreadsheet_utils.create_worksheet('person', rows)

        # when
        ingest_worksheet = IngestWorksheet(worksheet, header_row_idx=header_row_idx)
        data_rows = ingest_worksheet.get_data_rows(start_row=start_row_idx)

        data_row_values = []
        for row in data_rows:
            cell_values = [cell.value for cell in row]
            data_row_values.append(cell_values)

        # then:
        self.assertEqual(len(data_row_values), 1)
        self.assertEqual(data_row_values, [expected_data_row])
Ejemplo n.º 3
0
    def test_is_project__returns_true__when_case_is_lower(self):
        # given
        worksheet = spreadsheet_utils.create_worksheet('project', [])
        ingest_worksheet = IngestWorksheet(worksheet)

        # when and then
        self.assertTrue(ingest_worksheet.is_project())
Ejemplo n.º 4
0
    def test_is_project_module__returns_true(self):
        # given
        worksheet = spreadsheet_utils.create_worksheet(
            'Project - Contributors', [])
        ingest_worksheet = IngestWorksheet(worksheet)

        # when and then
        self.assertTrue(ingest_worksheet.is_project_module())
    def test_get_column_headers_includes_blank_cells(self):
        # given:
        header_row = 4
        rows = [['name', 'address', '', 'email']]
        worksheet = spreadsheet_utils.create_worksheet('person', rows, start_row=header_row)

        # when:
        ingest_worksheet = IngestWorksheet(worksheet, header_row_idx=header_row)
        column_headers = ingest_worksheet.get_column_headers()

        # then:
        self.assertEqual(len(column_headers), 4)
        self.assertEqual(column_headers, ['name', 'address', '', 'email'])
Ejemplo n.º 6
0
    def test__has_column__returns_false__when_column_is_empty(self):
        # given:
        rows = [['name', 'address', 'mobile', 'email'],
                ['Jane Doe', 'Cambridge', '12-345-67', '*****@*****.**']]

        worksheet = spreadsheet_utils.create_worksheet('person', rows)
        ingest_worksheet = IngestWorksheet(worksheet, header_row_idx=1)

        # when:
        result = ingest_worksheet.has_column('')

        # then:
        self.assertFalse(result)
Ejemplo n.º 7
0
    def test_create_worksheet(self):
        # given:
        rows = [
            ['harry', 'potter', 'gryffindor', 'lily', 'james'],
            ['ron', 'weasley', 'gryffindor', 'molly', 'arthur'],
            ['draco', 'malfoy', 'slytherin', 'narcissa', 'lucius'],
            ['dudley', 'dursely', None, 'petunia', 'vernon']
        ]
        # when:
        worksheet = spreadsheet_utils.create_worksheet('ws', rows)

        # then:
        ws_rows = list(worksheet.iter_rows(min_row=1, max_row=worksheet.max_row))

        self.assertEqual(4, len(ws_rows))
        self.assertEqual(rows[0], self.get_row_values(ws_rows[0]))
        self.assertEqual(rows[1], self.get_row_values(ws_rows[1]))
        self.assertEqual(rows[2], self.get_row_values(ws_rows[2]))
        self.assertEqual(rows[3], self.get_row_values(ws_rows[3]))