Files
dataset-uploader/features/google_sheets_tracker/column_letter_conversion.feature

60 lines
2.1 KiB
Gherkin

Feature: Column Letter Conversion
As a developer
I want column numbers to be converted to Excel-style letters correctly
So that updates target the correct cells in Google Sheets
Background:
Given an authenticated sheets tracker
Scenario: Convert single digit column numbers
When I convert column number 1 to letter
Then the column letter result should be "A"
When I convert column number 5 to letter
Then the column letter result should be "E"
When I convert column number 26 to letter
Then the column letter result should be "Z"
Scenario: Convert double digit column numbers
When I convert column number 27 to letter
Then the column letter result should be "AA"
When I convert column number 28 to letter
Then the column letter result should be "AB"
When I convert column number 52 to letter
Then the column letter result should be "AZ"
When I convert column number 53 to letter
Then the column letter result should be "BA"
Scenario: Convert triple digit column numbers
When I convert column number 702 to letter
Then the column letter result should be "ZZ"
When I convert column number 703 to letter
Then the column letter result should be "AAA"
When I convert column number 704 to letter
Then the column letter result should be "AAB"
Scenario: Column letter conversion for status column updates
Given a sheet with headers "Dataset Name, Status, Error"
And a sheet with the following datasets
| Dataset Name | Status | Error |
| wordnet | NOT STARTED | |
When I mark "wordnet" as in progress
Then the status column should be updated using correct column letter
And the update should succeed
Scenario: Column letter conversion for error column updates
Given a sheet with headers "Dataset Name, Status, Error"
And a sheet with the following datasets
| Dataset Name | Status | Error |
| wordnet | NOT STARTED | |
When I mark "wordnet" with error "Test error"
Then the error column should be updated using correct column letter
And the update should succeed