Blocked by: #74 ## Что Покрыть `UserDetailsController` (`UserDetails.fxml`). Файлы: `controllers/UserDetailsControllerTest.java` (headless) + `ui/UserDetailsControllerUiTest.java` (TestFX). ## Кейсы - Загрузка по id: все поля, `setUserId(null)` без вызова сервиса, вызов до wiring без NPE, индикатор Загрузка. - Отображение: пустое имя -> Без имени, null email/role/uuid -> пусто, enabled null/false -> Нет. - Ошибки: null -> Пользователь не найден, ServiceException -> ее текст, RuntimeException -> Не удалось загрузить пользователя. - Навигация назад -> goTo(UserList). - Роли: admin видит edit/delete, user/moder не видят, null AuthService без NPE. - Self-delete: своя запись блокирует delete с ошибкой Нельзя удалить собственную учетную запись. - Edit: навигация с передачей userId через Consumer, без current ничего не делает. - Delete: отмена без вызова сервиса, подтверждение -> delete+goTo, ошибки 403/404 без навигации, модалка Alert с текстом email и Действие необратимо. ## Техтребования - Только WaitForAsyncUtils, без sleep/timeout-харкода. - Русские DisplayName, Allure Epic Пользователи / Feature Страница пользователя / Tag role:admin|user|moder. - Зависит от #74 (protected confirmDelete). Part of #29
Activity