* Validate a scenario file structurally without executing it.
(scenario)
| 748 | * Validate a scenario file structurally without executing it. |
| 749 | */ |
| 750 | function validateScenario(scenario) { |
| 751 | const issues = []; |
| 752 | |
| 753 | if (!scenario.input) issues.push('missing input'); |
| 754 | if (scenario.assertContains.length === 0 && scenario.assertNotContains.length === 0) { |
| 755 | issues.push('no assertions defined (add assert-contains or assert-not-contains)'); |
| 756 | } |
| 757 | if (!STATES[scenario.state]) { |
| 758 | issues.push(`unknown state "${scenario.state}" — valid: ${Object.keys(STATES).join(', ')}`); |
| 759 | } |
| 760 | |
| 761 | return issues; |
| 762 | } |
| 763 | |
| 764 | // ── Results writing ─────────────────────────────────────────────────────────── |
| 765 |