mirror of
https://codeberg.org/PostERG/xamxam.git
synced 2026-06-26 08:39:18 +02:00
test: add ShareLinkTest + PureLogicTest (TDD), fix coverMap undefined in SearchController
This commit is contained in:
17
TODO.md
17
TODO.md
@@ -2,9 +2,24 @@
|
||||
|
||||
## Completed
|
||||
|
||||
- [x] TDD analysis + new test suites
|
||||
- [x] **Bug fixed**: `SearchController::handleSearch()` — `$coverMap` undefined variable + never populated for search results
|
||||
- [x] `ShareLinkTest` (13 tests) — `generateSlug`, all `validateLink` branches, `verifyPassword`, `incrementUsage`, `objet_restriction`
|
||||
- [x] `PureLogicTest` (31 tests) — `TfeController` helpers (meta, OG image, jury split, captions), `ThesisCreateController` helpers (autofocus, detectFileType, authorSlug), `ThesisEditController::buildFileSizeInfo`, `ExportController` CSV column consistency, `SearchController` coverMap regression
|
||||
- [x] Private helpers promoted to `protected` in `TfeController`, `ThesisCreateController`, `ThesisEditController` to enable subclass-based testing without reflection
|
||||
|
||||
- [x] Form save audit + TDD
|
||||
- [x] `createThesis()` missing `duration_pages`/`duration_minutes` columns — fixed
|
||||
- [x] `ThesisCreateController` not passing raw page/minute values to `createThesis()` — fixed (`durationPages`, `durationMinutes` extracted and passed)
|
||||
- [x] `FormSaveTest.php` — 14 red-green tests covering create+edit round-trips for all fields
|
||||
|
||||
- [x] Language form improvements
|
||||
- [x] Add Néerlandais as default language option (schema + migration 017)
|
||||
- [x] Make `language_autre` required only when no Langue du TFE checkbox is checked (JS in form.php, PHP server-side default)
|
||||
- [x] `language_autre` conditionally required via HTMX fragment (replaced custom JS)
|
||||
- [x] `language_autre` saved via `getOrCreateLanguage()` in both create and edit controllers
|
||||
- [x] `formData['languages']` wired in edit.php so checkboxes are pre-checked
|
||||
- [x] `duration_pages`/`duration_minutes` saved in `updateThesis()` and read back in `getThesisRawFields()`
|
||||
- [x] `beforeunload-guard` applied to add and partage forms too
|
||||
|
||||
- [x] Merge banner images into cover images
|
||||
- [x] Migration 016: copy `storage/banners/*` → `storage/covers/`, insert `thesis_files` cover records, clear `banner_path`, remove banners dir
|
||||
|
||||
Reference in New Issue
Block a user