51 lines
1.8 KiB
Gherkin
51 lines
1.8 KiB
Gherkin
Feature: Processing Decision Logic
|
|
As a data engineer
|
|
I want the system to decide whether to process datasets
|
|
So that I avoid reprocessing completed work
|
|
|
|
Background:
|
|
Given an authenticated sheets tracker
|
|
And a sheet with the following datasets
|
|
| Dataset Name | Status | Error |
|
|
| wordnet | NOT STARTED | |
|
|
| yago | IN PROGRESS | |
|
|
| dbpedia | DONE | |
|
|
| geonames | SKIP | |
|
|
|
|
Scenario: Should process NOT STARTED dataset
|
|
When I check if "wordnet" should be processed
|
|
Then the decision should be to process
|
|
And the reason should contain "NOT STARTED"
|
|
|
|
Scenario: Should not process DONE dataset
|
|
When I check if "dbpedia" should be processed
|
|
Then the decision should be to skip
|
|
And the reason should contain "DONE"
|
|
|
|
Scenario: Should not process IN PROGRESS dataset
|
|
When I check if "yago" should be processed
|
|
Then the decision should be to skip
|
|
And the reason should contain "IN PROGRESS"
|
|
|
|
Scenario: Should not process unknown status
|
|
When I check if "geonames" should be processed
|
|
Then the decision should be to skip
|
|
And the reason should contain "Unknown status"
|
|
|
|
Scenario: Force processing overrides status
|
|
When I check if "dbpedia" should be processed with force enabled
|
|
Then the decision should be to process
|
|
And the reason should contain "Force processing"
|
|
|
|
Scenario: Process dataset not in sheet
|
|
When I check if "nonexistent" should be processed
|
|
Then the decision should be to process
|
|
And the reason should contain "No status found"
|
|
|
|
Scenario: Process when tracker not authenticated (tracking is optional)
|
|
Given an unauthenticated sheets tracker
|
|
When I check if "wordnet" should be processed
|
|
Then the decision should be to process
|
|
And the reason should contain "not available"
|
|
|