53 lines
1.9 KiB
Gherkin
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
|
|
|
|
|