60 lines
2.3 KiB
Gherkin
60 lines
2.3 KiB
Gherkin
Feature: Update Status Edge Cases
|
|
As a developer
|
|
I want status updates to handle edge cases correctly
|
|
So that the tracker works reliably in all scenarios
|
|
|
|
Background:
|
|
Given an authenticated sheets tracker
|
|
|
|
Scenario: Update status when status column is missing
|
|
Given a sheet with headers "Dataset Name, Error"
|
|
And a sheet with the following datasets
|
|
| Dataset Name | Error |
|
|
| wordnet | |
|
|
When I attempt to update status for "wordnet"
|
|
Then the update should handle missing status column gracefully
|
|
And error column should still be updated if present
|
|
|
|
Scenario: Update status when error column is missing
|
|
Given a sheet with headers "Dataset Name, Status"
|
|
And a sheet with the following datasets
|
|
| Dataset Name | Status |
|
|
| wordnet | NOT STARTED |
|
|
When I mark "wordnet" with error "Test error"
|
|
Then the update should handle missing error column gracefully
|
|
And status column should still be updated
|
|
|
|
Scenario: Update status when both columns are missing
|
|
Given a sheet with headers "Dataset Name"
|
|
And a sheet with the following datasets
|
|
| Dataset Name |
|
|
| wordnet |
|
|
When I attempt to update status for "wordnet"
|
|
Then the update should fail gracefully
|
|
And no exception should be raised
|
|
|
|
Scenario: Update status with empty error message
|
|
Given a sheet with the following datasets
|
|
| Dataset Name | Status | Error |
|
|
| wordnet | IN PROGRESS | Previous error |
|
|
When I mark "wordnet" as completed with empty error
|
|
Then the error column should be cleared
|
|
And the status should be updated to "DONE"
|
|
|
|
Scenario: Update status with None error message
|
|
Given a sheet with the following datasets
|
|
| Dataset Name | Status | Error |
|
|
| wordnet | IN PROGRESS | Previous error |
|
|
When I mark "wordnet" as completed with None error
|
|
Then the error column should be cleared
|
|
And the status should be updated to "DONE"
|
|
|
|
Scenario: Update status with very long status value
|
|
Given a sheet with the following datasets
|
|
| Dataset Name | Status | Error |
|
|
| wordnet | NOT STARTED | |
|
|
When I attempt to update status with very long value
|
|
Then the update should succeed
|
|
And no exception should be raised
|
|
|