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
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:
The `video_handlers.py` module in xblocks-contrib is entirely untested at the handler level.
Acceptance Criteria
Related