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])
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())
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'])
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)
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]))