Test Name: Cypress - PO - single test, core output structure
Feature: Cypress Analysis
User Role: Product Owner
Traceability:
@SHIFT-17
Description: Verifies that a Product Owner can upload a single Cypress test file and receive a properly structured JSON documentation output.
This Test Verifies:
| Verification Step | What It Checks |
| Documentation is generated and displayed |
The output panel shows results after submitting a single Cypress test file |
| JSON output has no unresolved values |
All fields in the downloaded JSON are filled in with real content, not placeholders |
| JSON framework is identified as cypress |
The output correctly labels the test framework as Cypress |
| JSON has 1 or more tests |
At least one test entry is present in the output |
| Every test has a non-empty test_name |
Each documented test is given a meaningful name |
Test Name: Cypress - PO - forEach data-driven expands one test per row
Feature: Cypress Analysis
User Role: Product Owner
Traceability:
@SHIFT-19
Description: Verifies that when a Product Owner uploads a data-driven Cypress test using forEach, each data row is expanded into its own separate test entry in the output.
This Test Verifies:
| Verification Step | What It Checks |
| Documentation is generated and displayed |
The output panel shows results after submitting a forEach data-driven Cypress test file |
| JSON output has no unresolved values |
All fields in the downloaded JSON are filled in with real content, not placeholders |
| JSON framework is identified as cypress |
The output correctly labels the test framework as Cypress |
| JSON has 3 or more tests |
The forEach loop is expanded so that each data row produces its own distinct test entry |
| Every test has a non-empty test_name |
Each expanded test entry is given a meaningful name |
Test Name: Cypress - PO - for...of expands one test per row
Feature: Cypress Analysis
User Role: Product Owner
Traceability:
@SHIFT-19
Description: Verifies that when a Product Owner uploads a data-driven Cypress test using for...of, each data row is expanded into its own separate test entry in the output.
This Test Verifies:
| Verification Step | What It Checks |
| Documentation is generated and displayed |
The output panel shows results after submitting a for...of data-driven Cypress test file |
| JSON output has no unresolved values |
All fields in the downloaded JSON are filled in with real content, not placeholders |
| JSON framework is identified as cypress |
The output correctly labels the test framework as Cypress |
| JSON has 3 or more tests |
The for...of loop is expanded so that each data row produces its own distinct test entry |
| Every test has a non-empty test_name |
Each expanded test entry is given a meaningful name |
Test Name: Cypress - QAM - single test, coverage matrix populated
Feature: Cypress Analysis
User Role: QA Manager
Traceability:
@SHIFT-18
Description: Verifies that a QA Manager receives a documentation output that includes a populated test coverage matrix when uploading a single Cypress test file.
This Test Verifies:
| Verification Step | What It Checks |
| Documentation is generated and displayed |
The output panel shows results after submitting a single Cypress test file |
| JSON output has no unresolved values |
All fields in the downloaded JSON are filled in with real content, not placeholders |
| JSON framework is identified as cypress |
The output correctly labels the test framework as Cypress |
| JSON has 1 or more tests |
At least one test entry is present in the output |
| Every test has a non-empty test_name |
Each documented test is given a meaningful name |
| First test has a non-empty test_coverage_matrix array |
The QA Manager view includes a coverage matrix with at least one entry for the test |
Test Name: Cypress - QAM - forEach collapses
Feature: Cypress Analysis
User Role: QA Manager
Traceability:
@SHIFT-20
Description: Verifies that when a QA Manager uploads a data-driven Cypress test using forEach, all data rows are collapsed into a single test entry with a coverage matrix row for each example.
This Test Verifies:
| Verification Step | What It Checks |
| Documentation is generated and displayed |
The output panel shows results after submitting a forEach data-driven Cypress test file |
| JSON output has no unresolved values |
All fields in the downloaded JSON are filled in with real content, not placeholders |
| JSON framework is identified as cypress |
The output correctly labels the test framework as Cypress |
| JSON has exactly 1 test |
The forEach data-driven test is collapsed into a single test entry rather than expanded |
| Every test has a non-empty test_name |
The collapsed test entry is given a meaningful name |
| Coverage matrix row count matches the examples |
The number of rows in the coverage matrix equals the number of data rows in the forEach loop |
| Coverage matrix rows use the correct schema for cypress |
Each coverage matrix row follows the expected structure for Cypress test documentation |
Test Name: Cypress - QAM - for...of collapses
Feature: Cypress Analysis
User Role: QA Manager
Traceability:
@SHIFT-20
Description: Verifies that when a QA Manager uploads a data-driven Cypress test using for...of, all data rows are collapsed into a single test entry with a coverage matrix row for each example.
This Test Verifies:
| Verification Step | What It Checks |
| Documentation is generated and displayed |
The output panel shows results after submitting a for...of data-driven Cypress test file |
| JSON output has no unresolved values |
All fields in the downloaded JSON are filled in with real content, not placeholders |
| JSON framework is identified as cypress |
The output correctly labels the test framework as Cypress |
| JSON has exactly 1 test |
The for...of data-driven test is collapsed into a single test entry rather than expanded |
| Every test has a non-empty test_name |
The collapsed test entry is given a meaningful name |
| Coverage matrix row count matches the examples |
The number of rows in the coverage matrix equals the number of data rows in the for...of loop |
| Coverage matrix rows use the correct schema for cypress |
Each coverage matrix row follows the expected structure for Cypress test documentation |
Test Name: Cypress - PO - single test, core output structure
Feature: Cypress Analysis
Traceability:
@SHIFT-17
Journey: A Product Owner uploads a single Cypress test fixture and verifies that the documentation pipeline produces valid, fully-resolved JSON output containing at least one named test.
| Scenario |
Given Context |
When Action |
Then Assertion |
Gherkin Type |
|
Cypress - PO - single test, core output structure
|
User is on the Analyze page
|
Selects format 'cypress' and role 'Product Owner', uploads 'cypress_single_sample.cy.js', and clicks 'Document test cases'
|
Output panel shows documentation; downloaded JSON is framework='cypress', has no unresolved values, has 1+ tests, and every test has a non-empty test_name
|
Positive
|
Test Name: Cypress - PO - forEach data-driven expands one test per row
Feature: Cypress Analysis
Traceability:
@SHIFT-19
Journey: A Product Owner uploads a forEach data-driven Cypress fixture and verifies that the pipeline expands each data row into a separate test entry in the JSON output.
| Scenario |
Given Context |
When Action |
Then Assertion |
Gherkin Type |
|
Cypress - PO - forEach data-driven expands one test per row
|
User is on the Analyze page
|
Selects format 'cypress' and role 'Product Owner', uploads 'cypress_datadriven_sample.cy.js', and clicks 'Document test cases'
|
Output panel shows documentation; downloaded JSON is framework='cypress', has no unresolved values, has 3+ tests (one per data row), and every test has a non-empty test_name
|
Positive
|
Test Name: Cypress - PO - for...of expands one test per row
Feature: Cypress Analysis
Traceability:
@SHIFT-19
Journey: A Product Owner uploads a for...of data-driven Cypress fixture and verifies that the pipeline expands each iteration into a separate test entry in the JSON output.
| Scenario |
Given Context |
When Action |
Then Assertion |
Gherkin Type |
|
Cypress - PO - for...of expands one test per row
|
User is on the Analyze page
|
Selects format 'cypress' and role 'Product Owner', uploads 'cypress_forof_sample.cy.js', and clicks 'Document test cases'
|
Output panel shows documentation; downloaded JSON is framework='cypress', has no unresolved values, has 3+ tests (one per iteration), and every test has a non-empty test_name
|
Positive
|
Test Name: Cypress - QAM - single test, coverage matrix populated
Feature: Cypress Analysis
Traceability:
@SHIFT-18
Journey: A QA Manager uploads a single Cypress test fixture and verifies that the JSON output includes a populated test_coverage_matrix on the first test in addition to core structural requirements.
| Scenario |
Given Context |
When Action |
Then Assertion |
Gherkin Type |
|
Cypress - QAM - single test, coverage matrix populated
|
User is on the Analyze page
|
Selects format 'cypress' and role 'QA Manager', uploads 'cypress_single_sample.cy.js', and clicks 'Document test cases'
|
Output panel shows documentation; downloaded JSON is framework='cypress', has no unresolved values, has 1+ tests with non-empty test_name, and the first test has a non-empty test_coverage_matrix array
|
Positive
|
Test Name: Cypress - QAM - forEach collapses
Feature: Cypress Analysis
Traceability:
@SHIFT-20
Journey: A QA Manager uploads a forEach data-driven Cypress fixture and verifies that the pipeline collapses all data rows into a single test whose coverage matrix contains one row per data example using the correct Cypress schema.
| Scenario |
Given Context |
When Action |
Then Assertion |
Gherkin Type |
|
Cypress - QAM - forEach collapses
|
User is on the Analyze page
|
Selects format 'cypress' and role 'QA Manager', uploads 'cypress_datadriven_sample.cy.js', and clicks 'Document test cases'
|
Output panel shows documentation; downloaded JSON is framework='cypress', has no unresolved values, has exactly 1 test with a non-empty test_name, coverage matrix row count matches the number of data examples, and rows conform to the Cypress coverage matrix schema
|
Positive
|
Test Name: Cypress - QAM - for...of collapses
Feature: Cypress Analysis
Traceability:
@SHIFT-20
Journey: A QA Manager uploads a for...of data-driven Cypress fixture and verifies that the pipeline collapses all iterations into a single test whose coverage matrix contains one row per iteration using the correct Cypress schema.
| Scenario |
Given Context |
When Action |
Then Assertion |
Gherkin Type |
|
Cypress - QAM - for...of collapses
|
User is on the Analyze page
|
Selects format 'cypress' and role 'QA Manager', uploads 'cypress_forof_sample.cy.js', and clicks 'Document test cases'
|
Output panel shows documentation; downloaded JSON is framework='cypress', has no unresolved values, has exactly 1 test with a non-empty test_name, coverage matrix row count matches the number of iterations, and rows conform to the Cypress coverage matrix schema
|
Positive
|