Test Name:pytest - PO - single test, core output structure
Feature:pytest Analysis
User Role:Product Owner
Traceability:@SHIFT-17
Description:Verifies that uploading a single pytest file and generating documentation produces valid, complete output with at least one named test case.
This Test Verifies:
Verification Step
What It Checks
Documentation appears in the output panel
The system responds visibly after processing the uploaded test file
JSON output has no unresolved values
No placeholder or missing data exists in the generated documentation
JSON has 1 or more tests
At least one test case is captured from the uploaded file
Every test has a non-empty test_name
Each documented test case is identifiable by name
Test Name:pytest - PO - parametrize expands one test per row
Feature:pytest Analysis
User Role:Product Owner
Traceability:@SHIFT-19
Description:Verifies that a data-driven pytest file with parametrize is expanded so that each parameter combination appears as its own separate test case in the Product Owner output.
This Test Verifies:
Verification Step
What It Checks
Documentation appears in the output panel
The system responds visibly after processing the data-driven test file
JSON output has no unresolved values
No placeholder or missing data exists in the generated documentation
JSON has 3 or more tests
Each parameter row in the data-driven test is expanded into its own test entry
Every test has a non-empty test_name
Each expanded test case is individually identifiable by name
Test Name:pytest - QAM - single test, coverage matrix populated
Feature:pytest Analysis
User Role:QA Manager
Traceability:@SHIFT-18
Description:Verifies that uploading a single pytest file in QA Manager mode produces valid documentation that includes a populated test coverage matrix for the first test.
This Test Verifies:
Verification Step
What It Checks
Documentation appears in the output panel
The system responds visibly after processing the uploaded test file
JSON output has no unresolved values
No placeholder or missing data exists in the generated documentation
JSON has 1 or more tests
At least one test case is captured 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
Test Name:pytest - QAM - parametrize collapses
Feature:pytest Analysis
User Role:QA Manager
Traceability:@SHIFT-20
Description:Verifies that a data-driven pytest file in QA Manager mode produces a single collapsed test entry whose coverage matrix rows match the number of parameter combinations and follow the correct schema.
This Test Verifies:
Verification Step
What It Checks
Documentation appears in the output panel
The system responds visibly after processing the data-driven test file
JSON output has no unresolved values
No placeholder or missing data exists in the generated documentation
JSON has exactly 1 test
All parameter combinations are collapsed into a single test entry rather than expanded
Every test has a non-empty test_name
The collapsed test case is identifiable by name
Coverage matrix row count matches the examples
Each parameter combination is represented as its own row within the coverage matrix
Coverage matrix rows use the correct schema for generic
Each coverage matrix row conforms to the expected data structure for generic test types
Test Name:pytest - PO - single test, core output structure
Feature:pytest Analysis
Traceability:@SHIFT-17
Journey:A Product Owner uploads a single pytest 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
pytest - PO - single test, core output structure
User is on the Analyze page
Selects format 'pytest' and role 'Product Owner', uploads 'pytest_single_sample.py', 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:pytest - PO - parametrize expands one test per row
Feature:pytest Analysis
Traceability:@SHIFT-19
Journey:A Product Owner uploads a data-driven pytest fixture and verifies that each parametrize row is expanded into its own test entry in the JSON output.
Scenario
Given Context
When Action
Then Assertion
Gherkin Type
pytest - PO - parametrize expands one test per row
User is on the Analyze page
Selects format 'pytest' and role 'Product Owner', uploads 'pytest_datadriven_sample.py', 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:pytest - QAM - single test, coverage matrix populated
Feature:pytest Analysis
Traceability:@SHIFT-18
Journey:A QA Manager uploads a single pytest fixture and verifies that the JSON output contains at least one named test with a fully populated coverage matrix.
Scenario
Given Context
When Action
Then Assertion
Gherkin Type
pytest - QAM - single test, coverage matrix populated
User is on the Analyze page
Selects format 'pytest' and role 'QA Manager', uploads 'pytest_single_sample.py', and clicks 'Document test cases'
Output panel shows documentation; 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:pytest - QAM - parametrize collapses
Feature:pytest Analysis
Traceability:@SHIFT-20
Journey:A QA Manager uploads a data-driven pytest fixture and verifies that parametrize rows collapse into a single test with a coverage matrix whose row count matches the number of examples and conforms to the generic schema.
Scenario
Given Context
When Action
Then Assertion
Gherkin Type
pytest - QAM - parametrize collapses
User is on the Analyze page
Selects format 'pytest' and role 'QA Manager', uploads 'pytest_datadriven_sample.py', and clicks 'Document test cases'
Output panel shows documentation; downloaded JSON has no unresolved values, contains exactly 1 test, every test has a non-empty test_name, coverage matrix row count matches the parametrize examples, and rows conform to the generic schema