Test Name:Espresso - PO - single test, core output structure
Feature:Espresso Analysis
Traceability:@SHIFT-17
Description:Verifies that a Product Owner uploading a single Espresso test file receives properly structured documentation output with no missing or unresolved content.
This Test Verifies:
Verification Step
What It Checks
Documentation appears in output panel
The system produces visible output after processing the uploaded test file
JSON output has no unresolved values
No placeholder or unfilled fields remain in the downloaded output
JSON framework is 'espresso'
The output correctly identifies the test framework as Espresso
JSON has 1 or more tests
At least one test case is represented in the output
Every test has a non-empty test_name
Each documented test case is assigned a readable name
Test Name:Espresso - PO - Parameterized data-driven expands one test per row
Feature:Espresso Analysis
Traceability:@SHIFT-19
Description:Verifies that when a Product Owner uploads a data-driven Espresso test file, each data row is expanded into its own individual test entry in the output.
This Test Verifies:
Verification Step
What It Checks
Documentation appears in output panel
The system produces visible output after processing the data-driven test file
JSON output has no unresolved values
No placeholder or unfilled fields remain in the downloaded output
JSON framework is 'espresso'
The output correctly identifies the test framework as Espresso
JSON has 3 or more tests
Data rows are expanded so that each row results in a separate test entry, producing at least 3 tests
Every test has a non-empty test_name
Each expanded test case is assigned a readable name
Test Name:Espresso - QAM - single test, coverage matrix populated
Feature:Espresso Analysis
Traceability:@SHIFT-18
Description:Verifies that a QA Manager uploading a single Espresso test file receives output that includes a populated test coverage matrix alongside the standard documentation.
This Test Verifies:
Verification Step
What It Checks
Documentation appears in output panel
The system produces visible output after processing the uploaded test file
JSON output has no unresolved values
No placeholder or unfilled fields remain in the downloaded output
JSON framework is 'espresso'
The output correctly identifies the test framework as Espresso
JSON has 1 or more tests
At least one test case is represented in the output
Every test has a non-empty test_name
Each documented test case is assigned a readable 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:Espresso - QAM - data-driven collapses
Feature:Espresso Analysis
Traceability:@SHIFT-20
Description:Verifies that when a QA Manager uploads a data-driven Espresso test file, all data rows are collapsed into a single test entry with a coverage matrix that reflects each data row using the correct Espresso schema.
This Test Verifies:
Verification Step
What It Checks
Documentation appears in output panel
The system produces visible output after processing the data-driven test file
JSON output has no unresolved values
No placeholder or unfilled fields remain in the downloaded output
JSON framework is 'espresso'
The output correctly identifies the test framework as Espresso
JSON has exactly 1 test
Data rows are collapsed so the output contains a single test entry rather than one per row
Every test has a non-empty test_name
The collapsed test case is assigned a readable name
Coverage matrix row count matches the examples
The coverage matrix contains one row for each data example, preserving full data-driven traceability
Coverage matrix rows use the correct schema for 'espresso'
Each coverage matrix row follows the expected Espresso-specific structure and field format
Test Name:Espresso - PO - single test, core output structure
Feature:Espresso Analysis
Traceability:@SHIFT-17
Journey:A Product Owner uploads a single Espresso test fixture and verifies that the documented JSON output is structurally valid with at least one named test.
Scenario
Given Context
When Action
Then Assertion
Gherkin Type
Espresso - PO - single test, core output structure
User is on the Analyze page
Selects format 'espresso' and role 'Product Owner', uploads 'espresso_single_sample.java', and clicks 'Document test cases'
Output panel is populated; downloaded JSON has no unresolved values, declares framework 'espresso', contains 1 or more tests, and every test has a non-empty test_name
Positive
Test Name:Espresso - PO - Parameterized data-driven expands one test per row
Feature:Espresso Analysis
Traceability:@SHIFT-19
Journey:A Product Owner uploads a data-driven Espresso fixture and verifies that parameterized rows are expanded into individual tests in the JSON output.
Scenario
Given Context
When Action
Then Assertion
Gherkin Type
Espresso - PO - Parameterized data-driven expands one test per row
User is on the Analyze page
Selects format 'espresso' and role 'Product Owner', uploads 'espresso_datadriven_sample.java', and clicks 'Document test cases'
Output panel is populated; downloaded JSON has no unresolved values, declares framework 'espresso', contains 3 or more tests (one per data row), and every test has a non-empty test_name
Positive
Test Name:Espresso - QAM - single test, coverage matrix populated
Feature:Espresso Analysis
Traceability:@SHIFT-18
Journey:A QA Manager uploads a single Espresso test fixture and verifies that the JSON output includes a populated test_coverage_matrix for the first test.
Scenario
Given Context
When Action
Then Assertion
Gherkin Type
Espresso - QAM - single test, coverage matrix populated
User is on the Analyze page
Selects format 'espresso' and role 'QA Manager', uploads 'espresso_single_sample.java', and clicks 'Document test cases'
Output panel is populated; downloaded JSON has no unresolved values, declares framework 'espresso', contains 1 or more tests with non-empty test_name values, and the first test includes a non-empty test_coverage_matrix array
Positive
Test Name:Espresso - QAM - data-driven collapses
Feature:Espresso Analysis
Traceability:@SHIFT-20
Journey:A QA Manager uploads a data-driven Espresso fixture and verifies that all parameterized rows collapse into a single test entry whose coverage matrix rows match the example count and conform to the Espresso schema.
Scenario
Given Context
When Action
Then Assertion
Gherkin Type
Espresso - QAM - data-driven collapses
User is on the Analyze page
Selects format 'espresso' and role 'QA Manager', uploads 'espresso_datadriven_sample.java', and clicks 'Document test cases'
Output panel is populated; downloaded JSON has no unresolved values, declares framework 'espresso', contains exactly 1 test with a non-empty test_name, coverage matrix row count matches the number of data examples, and each row uses the correct Espresso schema