Test Name:JUnit - PO - single test, core output structure
Feature:JUnit Analysis
User Role:Product Owner
Traceability:@SHIFT-17
Description:Verifies that a Product Owner uploading a single JUnit test file receives a complete, well-formed documentation output with all test names resolved.
This Test Verifies:
Verification Step
What It Checks
Documentation appears in the output panel
The system produces visible output after analyzing a JUnit file
JSON output has no unresolved values
All fields in the output are fully populated with no placeholders or missing data
JSON has 1 or more tests
At least one test entry is generated from the uploaded file
Every test has a non-empty test_name
Each documented test is identifiable by name
Test Name:JUnit - PO - Parameterized expands one test per row
Feature:JUnit Analysis
User Role:Product Owner
Traceability:@SHIFT-19
Description:Verifies that a Product Owner uploading a data-driven JUnit test file sees each parameter row expanded into its own separate test entry in the output.
This Test Verifies:
Verification Step
What It Checks
Documentation appears in the output panel
The system produces visible output after analyzing a parameterized JUnit file
JSON output has no unresolved values
All fields in the output are fully populated with no placeholders or missing data
JSON has 3 or more tests
Parameterized tests are expanded so each data row becomes its own test entry
Every test has a non-empty test_name
Each expanded test entry is identifiable by name
Test Name:JUnit - QAM - single test, coverage matrix populated
Feature:JUnit Analysis
User Role:QA Manager
Traceability:@SHIFT-18
Description:Verifies that a QA Manager uploading a single JUnit test file receives documentation that includes a populated test coverage matrix alongside standard test details.
This Test Verifies:
Verification Step
What It Checks
Documentation appears in the output panel
The system produces visible output after analyzing a JUnit file
JSON output has no unresolved values
All fields in the output are fully populated with no placeholders or missing data
JSON has 1 or more tests
At least one test entry is generated from the uploaded file
Every test has a non-empty test_name
Each documented test is identifiable by 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:JUnit - QAM - Parameterized collapses
Feature:JUnit Analysis
User Role:QA Manager
Traceability:@SHIFT-20
Description:Verifies that a QA Manager uploading a data-driven JUnit test file sees parameterized tests collapsed into a single entry with a coverage matrix that reflects each data row.
This Test Verifies:
Verification Step
What It Checks
Documentation appears in the output panel
The system produces visible output after analyzing a parameterized JUnit file
JSON output has no unresolved values
All fields in the output are fully populated with no placeholders or missing data
JSON has exactly 1 test
Parameterized tests are collapsed into a single test entry rather than expanded
Every test has a non-empty test_name
The collapsed test entry is identifiable by name
Coverage matrix row count matches the examples
Each parameter row from the data-driven test is represented as a row in the coverage matrix
Coverage matrix rows use the correct schema for generic
The structure of each coverage matrix row conforms to the expected generic format
Test Name:JUnit - PO - single test, core output structure
Feature:JUnit Analysis
Traceability:@SHIFT-17
Journey:A Product Owner uploads a single JUnit test fixture and verifies that the analysis produces valid, fully-resolved JSON output containing at least one named test.
Scenario
Given Context
When Action
Then Assertion
Gherkin Type
JUnit - PO - single test, core output structure
User is on the Analyze page
Selects format 'junit' and role 'Product Owner', uploads 'junit_single_sample.java', and clicks 'Document test cases'
Output panel shows documentation; downloaded JSON has no unresolved values, contains 1 or more tests, and every test has a non-empty test_name
Positive
Test Name:JUnit - PO - Parameterized expands one test per row
Feature:JUnit Analysis
Traceability:@SHIFT-19
Journey:A Product Owner uploads a data-driven JUnit fixture and verifies that parameterized tests are expanded into individual test entries — one per data row — in the JSON output.
Scenario
Given Context
When Action
Then Assertion
Gherkin Type
JUnit - PO - Parameterized expands one test per row
User is on the Analyze page
Selects format 'junit' and role 'Product Owner', uploads 'junit_datadriven_sample.java', and clicks 'Document test cases'
Downloaded JSON has no unresolved values, contains 3 or more tests (one per parameterized row), and every test has a non-empty test_name
Positive
Test Name:JUnit - QAM - single test, coverage matrix populated
Feature:JUnit Analysis
Traceability:@SHIFT-18
Journey:A QA Manager uploads a single JUnit test fixture and verifies that the JSON output includes a populated test_coverage_matrix array on the first test entry.
Scenario
Given Context
When Action
Then Assertion
Gherkin Type
JUnit - QAM - single test, coverage matrix populated
User is on the Analyze page
Selects format 'junit' and role 'QA Manager', uploads 'junit_single_sample.java', and clicks 'Document test cases'
Downloaded JSON has no unresolved values, contains 1 or more tests with non-empty test_name, and the first test has a non-empty test_coverage_matrix array
Positive
Test Name:JUnit - QAM - Parameterized collapses
Feature:JUnit Analysis
Traceability:@SHIFT-20
Journey:A QA Manager uploads a data-driven JUnit fixture and verifies that parameterized tests are collapsed into a single test entry whose coverage matrix rows match the number of data examples and conform to the generic schema.
Scenario
Given Context
When Action
Then Assertion
Gherkin Type
JUnit - QAM - Parameterized collapses
User is on the Analyze page
Selects format 'junit' and role 'QA Manager', uploads 'junit_datadriven_sample.java', and clicks 'Document test cases'
Downloaded JSON has no unresolved values, contains exactly 1 test with a non-empty test_name, coverage matrix row count matches the parameterized examples, and rows conform to the generic schema