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

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"