elemes/services/tests
a2nr 084eb71a71 feat(content-editor): tambah editor konten guru dengan draft & publish
Backend:
- Model ContentDraft + migration 0004_content_drafts
- CRUD draft: save, reload, preview, publish, discard
- Tree ops: create file/folder, rename, delete dengan draft cleanup
- Refactor _render_markdown_string() agar bisa render dari buffer
- Refactor teacher_auth ke modul shared (teacher_auth.py)
- Blueprint routes/content_editor.py (17 endpoint)
- Permission error handling di semua write operations
- Tambah Pillow ke requirements.txt
- Mount content/ & assets/ dari :ro ke :rw

Frontend:
- Page /teacher/content dengan panel tree + editor + preview
- ContentFileTree, LessonContentView, QuizPreviewReadonly components
- contentEditor.ts service layer & contentEditor.svelte.ts state manager
- CodeEditor support @codemirror/lang-markdown + sync code prop
- Tambah @codemirror/lang-markdown dependency
2026-08-21 15:55:21 +07:00
..
fixtures feat(teacher): manajemen akun guru canonical + first-run otomatis; cabut backend CSV (PG only) 2026-08-09 11:21:08 +07:00
__init__.py feat(embed): add raw HTML embed fence with bleach sanitization 2026-07-19 15:39:38 +07:00
conftest.py fix(docs/api): hilangkan sync berulang di api_reference + UI API Reference di /docs 2026-08-17 16:37:30 +07:00
test_auth_routes.py refactor(test): unified test runner, markers, elemes.sh cleanup 2026-08-17 11:29:29 +07:00
test_compile_sessions.py refactor(test): unified test runner, markers, elemes.sh cleanup 2026-08-17 11:29:29 +07:00
test_content_editor_routes.py feat(content-editor): tambah editor konten guru dengan draft & publish 2026-08-21 15:55:21 +07:00
test_lesson_registry.py refactor(test): unified test runner, markers, elemes.sh cleanup 2026-08-17 11:29:29 +07:00
test_lesson_service_embed.py refactor(test): unified test runner, markers, elemes.sh cleanup 2026-08-17 11:29:29 +07:00
test_lesson_service_quiz.py refactor(test): unified test runner, markers, elemes.sh cleanup 2026-08-17 11:29:29 +07:00
test_models.py refactor(test): unified test runner, markers, elemes.sh cleanup 2026-08-17 11:29:29 +07:00
test_prerequisite_logic.py feat(prereq): dukung ambang minimum (min: N%) pada prasyarat materi 2026-08-17 21:57:10 +07:00
test_progress_routes.py refactor(test): unified test runner, markers, elemes.sh cleanup 2026-08-17 11:29:29 +07:00
test_quiz_attempt_routes.py refactor(test): unified test runner, markers, elemes.sh cleanup 2026-08-17 11:29:29 +07:00
test_repositories.py refactor(test): unified test runner, markers, elemes.sh cleanup 2026-08-17 11:29:29 +07:00
test_student_management_routes.py refactor(test): unified test runner, markers, elemes.sh cleanup 2026-08-17 11:29:29 +07:00
test_student_roundtrip.py refactor(test): unified test runner, markers, elemes.sh cleanup 2026-08-17 11:29:29 +07:00
test_sub_home.py refactor(test): unified test runner, markers, elemes.sh cleanup 2026-08-17 11:29:29 +07:00
test_sub_home_api.py feat(prereq): dukung ambang minimum (min: N%) pada prasyarat materi 2026-08-17 21:57:10 +07:00
test_teacher_bootstrap.py fix(docs/api): hilangkan sync berulang di api_reference + UI API Reference di /docs 2026-08-17 16:37:30 +07:00
test_token_hashing.py refactor(test): unified test runner, markers, elemes.sh cleanup 2026-08-17 11:29:29 +07:00
test_token_service_contract.py refactor(test): unified test runner, markers, elemes.sh cleanup 2026-08-17 11:29:29 +07:00