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

53 lines
1.9 KiB
Gherkin

Feature: Error Handling and Edge Cases
As a developer
I want robust error handling
So that the tracker works reliably
Scenario: Mark dataset with error status
Given an authenticated sheets tracker
And a sheet with the following datasets
| Dataset Name | Status | Error |
| wordnet | NOT STARTED | |
When I mark "wordnet" with error "Download failed"
Then the update should succeed
And the status of "wordnet" should be "NOT STARTED"
And the error for "wordnet" should contain "Download failed"
Scenario: Get status with empty sheet
Given an authenticated sheets tracker
And a sheet with only headers
When I get the status of "wordnet"
Then the status should be None
And the row should be None
Scenario: Get status with case insensitive matching
Given an authenticated sheets tracker
And a sheet with the following datasets
| Dataset Name | Status | Error |
| WordNet | NOT STARTED | |
When I get the status of "wordnet"
Then the status should be "NOT STARTED"
Scenario: Update status with case insensitive matching
Given an authenticated sheets tracker
And a sheet with the following datasets
| Dataset Name | Status | Error |
| WordNet | NOT STARTED | |
When I mark "wordnet" as completed
Then the update should succeed
And the status of "WordNet" should be "DONE"
Scenario: Handle row with missing columns
Given an authenticated sheets tracker
And a sheet with incomplete rows
When I get the status of "wordnet"
Then the operation should handle missing columns gracefully
Scenario: Get status when dataset_name_col is None
Given an authenticated sheets tracker with no dataset name column
When I get the status of "wordnet"
Then the status should be None
And the row should be None