Context
As part of the Slash-n-Burn Built-In XBlocks epic (openedx-platform#37819), the file `grades/tests/integration/test_problems.py` was deleted from openedx-platform in PR #38751.
This test file covered grades-pipeline integration with ProblemBlock, which now lives in xblocks-contrib. The coverage was not ported before deletion.
What needs to be ported
`grades/tests/integration/test_problems.py` covered:
- Grades pipeline integration — full grade calculation flow with ProblemBlock as the leaf component
- Score update propagation — `SCORE_PUBLISHED` signal handling through the grades subsystem
- Problem submission → grade — end-to-end: student submits answer → score stored → course grade updated
- Weighted grading — subsection and course-level grade aggregation with ProblemBlock scores
- Graded vs ungraded — behaviour differences when a ProblemBlock is inside a graded vs ungraded subsection
This integration test lives in the grades subsystem today but its primary subject — ProblemBlock correctness under grading — should have a home in xblocks-contrib.
Acceptance Criteria
- Port equivalent integration tests into xblocks-contrib (may require a lightweight grades-stub or rely on openedx-platform test infrastructure via tox)
- Tests should exercise ProblemBlock's grading contract without depending on xmodule internals
- CI must remain green
Related
- openedx-platform PR: #38751
- Epic: openedx-platform#37819
Context
As part of the Slash-n-Burn Built-In XBlocks epic (openedx-platform#37819), the file `grades/tests/integration/test_problems.py` was deleted from openedx-platform in PR #38751.
This test file covered grades-pipeline integration with ProblemBlock, which now lives in xblocks-contrib. The coverage was not ported before deletion.
What needs to be ported
`grades/tests/integration/test_problems.py` covered:
This integration test lives in the grades subsystem today but its primary subject — ProblemBlock correctness under grading — should have a home in xblocks-contrib.
Acceptance Criteria
Related