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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions