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 valid, fully-resolved JSON output containing at least one named test case.
This Test Verifies:
Verification Step
What It Checks
Documentation appears in output panel
The system produces visible output after analyzing a JUnit file
JSON output has no unresolved values
All fields in the downloaded output are populated — no placeholders or missing data remain
JSON has 1 or more tests
At least one test case is detected and documented from the uploaded file
Every test has a non-empty test_name
Each documented test case 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 case in the output.
This Test Verifies:
Verification Step
What It Checks
Documentation appears in output panel
The system produces visible output after analyzing a parameterized JUnit file
JSON output has no unresolved values
All fields in the downloaded output are fully populated with no gaps
JSON has 3 or more tests
Each data row from the parameterized test is treated as a distinct test case, resulting in multiple entries
Every test has a non-empty test_name
Each expanded test case is individually named
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 output that includes a populated test coverage matrix alongside standard test documentation.
This Test Verifies:
Verification Step
What It Checks
Documentation appears in output panel
The system produces visible output after analyzing a JUnit file
JSON output has no unresolved values
All fields in the downloaded output are fully populated with no gaps
JSON has 1 or more tests
At least one test case is detected and documented from the uploaded file
Every test has a non-empty test_name
Each documented test case 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 case
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 the parameterized test collapsed into a single test case whose coverage matrix rows represent each data example using the correct structure.
This Test Verifies:
Verification Step
What It Checks
Documentation appears in output panel
The system produces visible output after analyzing a parameterized JUnit file
JSON output has no unresolved values
All fields in the downloaded output are fully populated with no gaps
JSON has exactly 1 test
All parameter rows are collapsed into a single test case entry rather than expanded individually
Every test has a non-empty test_name
The collapsed test case is identifiable by name
Coverage matrix row count matches the examples
Each data row from the parameterized test is represented as a row in the coverage matrix
Coverage matrix rows use the correct schema for generic
Each coverage matrix row conforms to the expected generic format with all required fields present
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 a valid JSON output with 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
User selects format 'junit' and role 'Product Owner', uploads 'junit_single_sample.java', and clicks 'Document test cases'
Output panel is populated, 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 parameterized JUnit fixture and verifies that each data row is expanded into its own named test entry 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
User selects format 'junit' and role 'Product Owner', uploads 'junit_datadriven_sample.java', and clicks 'Document test cases'
Output panel is populated, downloaded JSON has no unresolved values, contains 3 or more tests, 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 coverage matrix for the first test.
Scenario
Given Context
When Action
Then Assertion
Gherkin Type
JUnit - QAM - single test, coverage matrix populated
User is on the Analyze page
User selects format 'junit' and role 'QA Manager', uploads 'junit_single_sample.java', and clicks 'Document test cases'
Output panel is populated, downloaded JSON has no unresolved values, contains 1 or more tests, every test has a 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 parameterized JUnit fixture and verifies that the analysis collapses all data rows into a single test whose coverage matrix rows match the number of 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
User selects format 'junit' and role 'QA Manager', uploads 'junit_datadriven_sample.java', and clicks 'Document test cases'
Output panel is populated, downloaded JSON has no unresolved values, contains exactly 1 test, every test has a non-empty test_name, coverage matrix row count matches the examples, and rows use the correct generic schema