Merge branch 'refactor2'
This commit is contained in:
+27
-7
@@ -19,8 +19,8 @@
|
||||
- ✅ 3.3 AdminOrdersPage, AdminUsersPage (shared AdminDialog + AdminTable)
|
||||
- ✅ 5.1 fastify.decorate вместо параметров
|
||||
- ✅ 5.2 Валидация через Fastify Schema
|
||||
- ⬜ 6.1 Error Boundary
|
||||
- ⬜ 6.2 Тесты
|
||||
- ✅ 6.1 Error Boundary
|
||||
- ✅ 6.2 Тесты
|
||||
|
||||
---
|
||||
|
||||
@@ -122,21 +122,41 @@
|
||||
|
||||
## 6. Инфраструктура (низкий приоритет)
|
||||
|
||||
### 6.1 Error Boundary ⬜
|
||||
### 6.2 Тесты ⬜
|
||||
### 6.1 Error Boundary ✅
|
||||
|
||||
Создан `shared/ui/ErrorBoundary/ErrorBoundary.tsx` — class-компонент с `getDerivedStateFromError` / `componentDidCatch`.
|
||||
- Отображает MUI `Alert` с заголовком «Что-то пошло не так» и кнопкой «Попробовать снова».
|
||||
- Поддерживает кастомный `fallback` и колбэк `onError`.
|
||||
- Интегрирован в `App.tsx`: `<ErrorBoundary><AppRoutes /></ErrorBoundary>`.
|
||||
|
||||
### 6.2 Тесты ✅
|
||||
|
||||
**Клиент (vitest + jsdom + @testing-library/react):**
|
||||
- `shared/lib/__tests__/get-error-message.test.ts` — 4 теста
|
||||
- `shared/lib/__tests__/format-price.test.ts` — 3 теста
|
||||
- `shared/lib/__tests__/group-orders-by-status.test.ts` — 3 теста
|
||||
- `shared/ui/ErrorBoundary/__tests__/ErrorBoundary.test.tsx` — 4 теста (рендер, падение, кастомный fallback, сброс)
|
||||
|
||||
**Сервер (vitest):**
|
||||
- `src/lib/__tests__/escape-html.test.js` — 4 теста
|
||||
- `src/lib/__tests__/order-status.test.js` — 9 тестов (`canTransitionAdminOrderStatus`)
|
||||
|
||||
**Команды:** `npm test` (vitest run), `npm run test:watch` (vitest).
|
||||
|
||||
---
|
||||
|
||||
## Сводка изменений
|
||||
|
||||
| Область | Файлов создано | Файлов изменено |
|
||||
|---|---|---|
|
||||
|---|---|---|---|
|
||||
| Server routes | 0 | 4 (декораты + схемы) |
|
||||
| Client pages | 3 | 2 (HomePage, AdminOrdersPage, AdminUsersPage) |
|
||||
| Client entities | 6 | 2 (barrel, GalleryGrid, model types) |
|
||||
| Client features | 3 | 2 (map-geocoding, AddressMapPicker) |
|
||||
| Client shared/ui | 2 | 0 (AdminDialog, AdminTable) |
|
||||
| Client shared/ui | 3 | 0 (AdminDialog, AdminTable, ErrorBoundary) |
|
||||
| Client app config | 0 | 2 (vite.config, tsconfig) |
|
||||
| Client tests | 4 | 0 (vitest config, setup, 3 test files) |
|
||||
| Server tests | 2 | 0 (vitest config, 2 test files) |
|
||||
| Shared constants | 8 | 0 (order-status, delivery-carrier, etc.) |
|
||||
| Server constants | 0 | 3 (order-status, delivery-carrier, upload-limits) |
|
||||
| **Итого** | **22** | **15** |
|
||||
| **Итого** | **29** | **15** |
|
||||
|
||||
Reference in New Issue
Block a user