Skip to content

test: port grades/tests/integration/test_problems.py coverage (grades pipeline + ProblemBlock) #266

Description

@irfanuddinahmad

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions