feat(web): перевести браузерные URL курсов на courseNo
- teacher/admin course pages, content, gradebook, profile, downloads - courseNo -> UUID только на границе REST API - обновлены e2e, шаблоны, тесты и docs - LDD-UI-002; baseline 59 claims / 385 тестов
This commit is contained in:
@@ -68,12 +68,12 @@
|
||||
| identity-service | 105 | 0 | 0 | 0 |
|
||||
| academic-service | 106 | 0 | 0 | 0 |
|
||||
| progress-service | 38 | 0 | 0 | 0 |
|
||||
| web | 112 | 0 | 0 | 0 |
|
||||
| web | 129 | 0 | 0 | 0 |
|
||||
| gateway | 2 | 0 | 0 | 0 |
|
||||
| markdown | 5 | 0 | 0 | 0 |
|
||||
| **Итого на момент этапа 6** | **368** | **0** | **0** | **0** |
|
||||
| **Итого на момент этапа 6** | **385** | **0** | **0** | **0** |
|
||||
|
||||
После закрытия рисков актуальный LDD-baseline — **368 тестов, 0 failures**
|
||||
После закрытия рисков актуальный LDD-baseline — **385 тестов, 0 failures**
|
||||
(см. раздел 7). `ktlintCheck` и `detekt` прошли без замечаний. У gateway теперь есть unit-тесты публичных auth-путей и 401; маршрутизация
|
||||
gateway дополнительно проверена конфигурацией и security-матрицей ниже.
|
||||
Тот же набор команд выполняет `.woodpecker/` (Gitea + Woodpecker 3.x); на
|
||||
@@ -133,7 +133,7 @@ gateway дополнительно проверена конфигурацией
|
||||
|
||||
### 2.3. Security-проверки
|
||||
|
||||
Проверено автоматическими тестами (актуальный прогон — 368 тестов, 0 failures)
|
||||
Проверено автоматическими тестами (актуальный прогон — 385 тестов, 0 failures)
|
||||
и разбором конфигурации gateway. Запись преподавателя дополнительно покрыта
|
||||
negative-тестами «свой/чужой курс».
|
||||
|
||||
@@ -252,10 +252,10 @@ legacy-активов на production, сдачи по выбранной лаб
|
||||
`/admin/labs`, `/admin/teachers`, `/admin/promotion`.
|
||||
- [ ] **Преподаватель:** вход, `/teacher`, карточка своего курса (имена групп,
|
||||
привязка/отвязка группы по `available-groups`), ведомость
|
||||
`/admin/groups/{groupId}?courseId=...` без админских контролов, оценка и
|
||||
`/admin/groups/{groupId}?courseNo=...` без админских контролов, оценка и
|
||||
публикация, уровень/вариант и раздача, защита (код/reset), профиль студента,
|
||||
скачивание попытки и ZIP группы, авторство материалов
|
||||
`/teacher/courses/{id}/content`.
|
||||
`/teacher/courses/{courseNo}/content`.
|
||||
- [ ] **Студент:** вход, дашборд, лабораторная, сдача/история, курсовые
|
||||
материалы; видны только опубликованные оценки и комментарии.
|
||||
- [ ] **Материалы курса:** админ и преподаватель видят скрытые статьи, студент —
|
||||
@@ -347,10 +347,10 @@ web-сессия с отзывом и абсолютным потолком, key
|
||||
## 7. LDD baseline
|
||||
|
||||
После этапа 6 и закрытия рисков текущая функциональность проверена через
|
||||
LDD-контур: реестр `docs/evidence/claims.json` (**58 claims, 27 P0 / 31 P1**),
|
||||
LDD-контур: реестр `docs/evidence/claims.json` (**59 claims, 27 P0 / 32 P1**),
|
||||
gate `./gradlew evidenceCheck`, upgrade-скрипт, runtime-smoke, smoke-workflow,
|
||||
mutation testing и браузерный Playwright E2E. Результат:
|
||||
**58/58 claims proven, P0 gaps = 0, 368 тестов, 0 failures**; mutation strength
|
||||
**59/59 claims proven, P0 gaps = 0, 385 тестов, 0 failures**; mutation strength
|
||||
`CourseAccessService` 75%, `PromotionPlanner` 69%; browser E2E 18/18 (6 сценариев × Chromium/Firefox/WebKit);
|
||||
конкурентные apply/rollback и масштабный нагрузочный smoke (100 групп /
|
||||
1000 студентов, 125 параллельных чтений, 0 ошибок, p95 < 1 с) зелёные.
|
||||
|
||||
Reference in New Issue
Block a user