Test Name:TestNG - PO - single test, core output structure
Feature:TestNG Analysis
User Role:Product Owner
Traceability:@SHIFT-17
Description:Verifies that uploading a single TestNG test file produces valid, fully-resolved documentation output with at least one named test entry.
This Test Verifies:
Verification Step
What It Checks
Documentation appears in the output panel
The system returns visible output after processing the file
JSON output has no unresolved values
All fields in the output are populated — no placeholders or nulls remain
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 test entry is identifiable by name
Test Name:TestNG - PO - DataProvider expands one test per row
Feature:TestNG Analysis
User Role:Product Owner
Traceability:@SHIFT-19
Description:Verifies that a data-driven TestNG test using a DataProvider is expanded into one separate test entry per data row in the Product Owner output.
This Test Verifies:
Verification Step
What It Checks
Documentation appears in the output panel
The system returns visible output after processing the data-driven file
JSON output has no unresolved values
All fields in the expanded output are fully populated
JSON has 3 or more tests
Each DataProvider row produces its own distinct test entry
Every test has a non-empty test_name
Each expanded test entry is individually named
Test Name:TestNG - QAM - single test, coverage matrix populated
Feature:TestNG Analysis
User Role:QA Manager
Traceability:@SHIFT-18
Description:Verifies that a single TestNG test file processed for a QA Manager produces output that includes a populated test coverage matrix.
This Test Verifies:
Verification Step
What It Checks
Documentation appears in the output panel
The system returns visible output after processing the file
JSON output has no unresolved values
All fields in the output are fully populated
JSON has 1 or more tests
At least one test entry is generated
Every test has a non-empty test_name
Each test entry 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
Test Name:TestNG - QAM - DataProvider collapses
Feature:TestNG Analysis
User Role:QA Manager
Traceability:@SHIFT-20
Description:Verifies that a data-driven TestNG test processed for a QA Manager is collapsed into a single test entry, with the coverage matrix rows reflecting each data example using the correct schema.
This Test Verifies:
Verification Step
What It Checks
Documentation appears in the output panel
The system returns visible output after processing the data-driven file
JSON output has no unresolved values
All fields in the output are fully populated
JSON has exactly 1 test
Data-driven tests are collapsed into a single entry rather than expanded for this role
Every test has a non-empty test_name
The collapsed test entry is identifiable by name
Coverage matrix row count matches the examples
The number of rows in the coverage matrix corresponds to the number of DataProvider rows
Coverage matrix rows use the correct schema for 'generic'
Each row in the matrix conforms to the expected generic schema structure
Test Name:TestNG - PO - single test, core output structure
Feature:TestNG Analysis
Traceability:@SHIFT-17
Journey:A Product Owner uploads a single TestNG test fixture and verifies that the documentation output is generated with at least one test entry containing a valid test name.
Scenario
Given Context
When Action
Then Assertion
Gherkin Type
TestNG - PO - single test, core output structure
User is on the Analyze page
Selects format 'testng' and role 'Product Owner', uploads 'testng_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:TestNG - PO - DataProvider expands one test per row
Feature:TestNG Analysis
Traceability:@SHIFT-19
Journey:A Product Owner uploads a data-driven TestNG fixture and verifies that each DataProvider row is expanded into a separate test entry in the output.
Scenario
Given Context
When Action
Then Assertion
Gherkin Type
TestNG - PO - DataProvider expands one test per row
User is on the Analyze page
Selects format 'testng' and role 'Product Owner', uploads 'testng_datadriven_sample.java', and clicks 'Document test cases'
Output panel shows documentation; downloaded JSON has no unresolved values, contains 3 or more tests, and every test has a non-empty test_name
Positive
Test Name:TestNG - QAM - single test, coverage matrix populated
Feature:TestNG Analysis
Traceability:@SHIFT-18
Journey:A QA Manager uploads a single TestNG test fixture and verifies that the output includes a populated test coverage matrix for the first test.
Scenario
Given Context
When Action
Then Assertion
Gherkin Type
TestNG - QAM - single test, coverage matrix populated
User is on the Analyze page
Selects format 'testng' and role 'QA Manager', uploads 'testng_single_sample.java', and clicks 'Document test cases'
Output panel shows documentation; downloaded JSON has no unresolved values, contains 1 or more tests with non-empty test names, and the first test has a non-empty test_coverage_matrix array
Positive
Test Name:TestNG - QAM - DataProvider collapses
Feature:TestNG Analysis
Traceability:@SHIFT-20
Journey:A QA Manager uploads a data-driven TestNG fixture and verifies that DataProvider rows collapse into a single test entry whose coverage matrix rows match the number of examples and conform to the generic schema.
Scenario
Given Context
When Action
Then Assertion
Gherkin Type
TestNG - QAM - DataProvider collapses
User is on the Analyze page
Selects format 'testng' and role 'QA Manager', uploads 'testng_datadriven_sample.java', and clicks 'Document test cases'
Output panel shows documentation; downloaded JSON has no unresolved values, contains exactly 1 test with a non-empty test name, coverage matrix row count matches the DataProvider examples, and rows conform to the generic coverage matrix schema