Skip to content

test: port test_video_handlers.py coverage (handler dispatch, transcripts) #264

Description

@irfanuddinahmad

Context

As part of the Slash-n-Burn Built-In XBlocks epic (openedx-platform#37819), the file `lms/djangoapps/courseware/tests/test_video_handlers.py` was deleted from openedx-platform in PR #38750.

This test file covered `VideoBlock` handler logic that now lives in xblocks-contrib. The coverage was not ported before deletion.

What needs to be ported

`test_video_handlers.py` covered:

  • Handler dispatch — `handle_ajax`, routing to sub-handlers
  • Transcript download/upload/delete — `transcript`, `save_transcript`, `delete_transcript` handlers
  • Transcript language/content negotiation — SRT vs SJSON format selection, language fallback
  • Video position tracking — `save_user_state` handler
  • Metadata save — `metadata_save` handler, field validation

The `video_handlers.py` module in xblocks-contrib is entirely untested at the handler level.

Acceptance Criteria

  • Port equivalent tests into `xblocks_contrib/tests/` (or an appropriate subpackage)
  • Tests should pass against the xblocks-contrib VideoBlock without importing from xmodule
  • CI must remain green

Related

  • openedx-platform PR: #38750
  • 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