* Run all assertions against the captured output. * Returns array of { assertion, passed, type }
(scenario, output)
| 726 | * Returns array of { assertion, passed, type } |
| 727 | */ |
| 728 | function runAssertions(scenario, output) { |
| 729 | const results = []; |
| 730 | const lowerOutput = output.toLowerCase(); |
| 731 | |
| 732 | for (const pattern of scenario.assertContains) { |
| 733 | const passed = lowerOutput.includes(pattern.toLowerCase()); |
| 734 | results.push({ assertion: `contains: "${pattern}"`, passed, type: 'contains' }); |
| 735 | } |
| 736 | |
| 737 | for (const pattern of scenario.assertNotContains) { |
| 738 | const passed = !lowerOutput.includes(pattern.toLowerCase()); |
| 739 | results.push({ assertion: `not-contains: "${pattern}"`, passed, type: 'not-contains' }); |
| 740 | } |
| 741 | |
| 742 | return results; |
| 743 | } |
| 744 | |
| 745 | // ── Static validation ───────────────────────────────────────────────────────── |
| 746 |
no outgoing calls
no test coverage detected