test: port test_video_handlers.py coverage (handler dispatch, transcripts)
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 72/100
Research direction
Start with video_handlers.py and inspect the deleted lms/djangoapps/courseware/tests/test_video_handlers.py through openedx-platform PR #38750 for the original cases. Port handler-dispatch, transcript, position-tracking, and metadata-save coverage into xblocks_contrib/tests/, then run the test suite and confirm it passes without importing from xmodule.
Written by the indexing model from the issue text.
Description
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
- Dominant language
- Python
- Stars
- 0
- Forks
- 16
- Avg merge
- 5h 37m
- Merged PRs (30d)
- 3
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from openedx/xblocks-core
-
Difficulty 1/5 1-3 hours Newbie friendliness 84/100
openedx/xblocks-core#305 ·
-
ChoiceTextResponse: a submission that omits a required numtolerance_input key is graded correctOpen
Difficulty 3/5 1-2 days Newbie friendliness 65/100
openedx/xblocks-core#306 ·
-
WCAG - Question Content Not Programmatically Associated With Answer ChoicesMay be free again @jesusbalderramawgu claimed this 30 days ago, and no pull request is open. Open
openedx/xblocks-core#300 · 1 assignee ·
-
flaky-test
Difficulty 3/5 1-2 days Newbie friendliness 55/100
openedx/xblocks-core#290 · 2 comments ·
-
[DEPR]: Remove Video Bumper (pre-roll video) featureMay be free again @feanil claimed this 61 days ago, and no pull request is open. Opendepr
openedx/xblocks-core#284 · 1 reaction · 2 assignees ·
All issues in openedx/xblocks-core
Similar issues
-
needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
darnitdevorg/darnit#587 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
Maintainers usually reply within 1 day
-
accessibility good first issue
Difficulty 1/5 1-3 hours Newbie friendliness 92/100
Maintainers usually reply within 1 day
-
llm translation
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
-
bug bug-hunt
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Maintainers usually reply within 1 day