Exemple #1
0
class TestCellRange:

    http_sheets_mocks = mock_range_instance()
    client = SpreadsheetApp(http=http_sheets_mocks)
    data_range = client.open_by_id('spreadsheet id').get_sheet_by_name('people').get_data_range()

    def test_a1(self):
        assert self.data_range.a1 == 'people!A1:D21'

    def test_get_cell(self):
        assert self.data_range.get_cell(1, 1).a1 == 'people!A1'
        assert self.data_range.get_cell(1, 2).a1 == 'people!B1'
        assert self.data_range.get_cell(2, 1).a1 == 'people!A2'
Exemple #2
0
class TestSheet:
    http_sheets_mocks = mock_range_instance()
    sheet = SpreadsheetApp(http=http_sheets_mocks).open_by_id("some_id").get_sheet_by_name("people")

    def test_sheet_properties(self):
        assert self.sheet.name == "people"
        assert self.sheet.sid == 0
        assert type(self.sheet.grid_properties) == dict
        assert type(self.sheet.batches) == list
        assert len(self.sheet.batches) == 0

    def test_max_rows_columns(self):
        assert self.sheet.get_max_rows() == 1000
        assert self.sheet.get_max_columns() == 26
Exemple #3
0
class TestGettersFromDataRange:

    fixtures = ['get_backgrounds.json', 'get_notes.json', 'get_fonts.json']
    http_sheets_mocks = mock_range_instance(fixtures)
    client = SpreadsheetApp(http=http_sheets_mocks)
    data_range = client.open_by_id('spreadsheet id').get_sheet_by_name('people').get_data_range()

    def test_a1_notation_is_right(self):
        assert self.data_range.a1 == "people!A1:D21"

    def test_get_backgrounds(self):
        backgrounds = self.data_range.get_backgrounds()
        assert type(backgrounds) == list
        assert len(backgrounds) == self.data_range.coordinates.number_of_rows
        for row in backgrounds:
            assert len(row) == self.data_range.coordinates.number_of_columns
Exemple #4
0
class TestWrongRowAndColumnValues:
    http_sheets_mocks = mock_range_instance()

    client = SpreadsheetApp(http=http_sheets_mocks)
    spreadsheet = client.open_by_id('some_id')
    sheet = spreadsheet.get_sheet_by_name("people")

    def test_invalid_row(self):
        with pytest.raises(RowOrColumnEqualsZeroError):
            self.sheet.get_range(row=0, column=1)

    def test_invalid_column(self):
        with pytest.raises(RowOrColumnEqualsZeroError):
            self.sheet.get_range(row=1, column=0)

    def test_invalid_row_and_column(self):
        with pytest.raises(RowOrColumnEqualsZeroError):
            self.sheet.get_range(row=0, column=0)
Exemple #5
0
class TestModelClients:

    http_sheets_mocks = mock_range_instance()

    client = SpreadsheetApp(http=http_sheets_mocks)
    spreadsheet = client.open_by_id('some_id')
    sheet = spreadsheet.get_sheet_by_name("people")
    my_range = sheet.get_range(1, 1)

    def test_instances(self):
        assert isinstance(self.client, SpreadsheetApp)
        assert isinstance(self.spreadsheet, Spreadsheet)
        assert isinstance(self.sheet, Sheet)
        assert isinstance(self.my_range, Range)

    def test_client_is_in_every_object(self):
        assert self.client is self.spreadsheet.client
        assert self.client is self.sheet.client
        assert self.client is self.my_range.client