docs(calendar): update progress - Phase 2 complete with testing
- Phase 2 (API + Testing) now marked as complete - Added detailed test results section: * 34 legacy tests passing (backward compatibility) * 29 new tests passing (new functionality) * Total: 63 tests successfully passing - Reorganized Phase 4 to reflect completed vs pending tests - Next step: Phase 3 (Frontend implementation)
This commit is contained in:
parent
f7d3cd8c91
commit
a29aa69d16
@ -2,7 +2,7 @@
|
||||
|
||||
**Дата:** 11 февраля 2026 г.
|
||||
**Подход:** Обратно совместимое расширение без поломки существующего функционала
|
||||
**Статус:** ✅ Phase 2 (API) завершена
|
||||
**Статус:** ✅ Phase 2 (API + Testing) завершена
|
||||
|
||||
---
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
- ✅ Admin интерфейсы настроены
|
||||
- ✅ Коммит: `feat(calendar): add optional Calendar and CalendarSubscription models`
|
||||
|
||||
### ✅ Phase 2: API Layer (Завершено)
|
||||
### ✅ Phase 2: API Layer + Testing (Завершено)
|
||||
- ✅ `CalendarEventWriteSerializer` поддерживает `calendar_id`
|
||||
- ✅ Созданы сериализаторы для `Calendar` (read + write)
|
||||
- ✅ Созданы сериализаторы для `CalendarSubscription` (read + write)
|
||||
@ -27,7 +27,24 @@
|
||||
- ✅ `CalendarManager.get_available_for_user()` метод
|
||||
- ✅ Методы проверки прав в модели `Calendar`
|
||||
- ✅ URL маршруты зарегистрированы
|
||||
- ✅ Коммит: `feat(calendar): add API layer for optional calendars`
|
||||
- ✅ Коммит API: `feat(calendar): add API layer for optional calendars`
|
||||
|
||||
#### 🧪 Тестирование (Завершено)
|
||||
- ✅ Создана фикстура `make_event` для тестов событий
|
||||
- ✅ Миграция 0012: `CalendarSubscription.color_override` nullable
|
||||
- ✅ Добавлены computed-поля в `CalendarSerializer`: `is_personal`, `is_global`, `is_department`
|
||||
- ✅ Исправлен `CalendarViewSet.create()` для корректного ответа
|
||||
- ✅ Создан `test_new_calendar_api.py` с 29 тестами:
|
||||
* 11 CRUD тестов (list, create, retrieve, update, delete)
|
||||
* 6 subscription тестов (subscribe, unsubscribe, my-subscriptions)
|
||||
* 3 event filtering тестов (calendar_id filtering, legacy separation)
|
||||
* 3 visibility тестов (public, private, department)
|
||||
* 6 permission тестов (is_owner, can_user_view, can_user_edit)
|
||||
- ✅ **Результаты тестов:**
|
||||
* ✅ 34 legacy тестов пройдено (обратная совместимость)
|
||||
* ✅ 29 новых тестов пройдено (новый функционал)
|
||||
* ✅ **Всего: 63 теста успешно!**
|
||||
- ✅ Коммит тестов: `feat(calendar): add comprehensive test suite for new Calendar API`
|
||||
|
||||
#### API эндпоинты (новые):
|
||||
```
|
||||
@ -56,11 +73,13 @@ GET /api/v1/calendar/events/?calendar_id={id} # События календ
|
||||
- ⏳ Переключатель отображения календарей
|
||||
- ⏳ Интеграция с FullCalendar.js
|
||||
|
||||
### ⏳ Phase 4: Тестирование (В планах)
|
||||
- ⏳ Unit тесты для моделей
|
||||
- ⏳ API тесты для новых эндпоинтов
|
||||
- ⏳ Тесты прав доступа
|
||||
- ⏳ Тесты обратной совместимости
|
||||
### ⏳ Phase 4: Дополнительное тестирование (В планах)
|
||||
- ✅ Unit тесты для моделей (через API тесты)
|
||||
- ✅ API тесты для новых эндпоинтов (29 тестов)
|
||||
- ✅ Тесты прав доступа (6 тестов permissions)
|
||||
- ✅ Тесты обратной совместимости (34 legacy теста)
|
||||
- ⏳ Integration тесты frontend + backend
|
||||
- ⏳ E2E тесты пользовательских сценариев
|
||||
|
||||
### ⏳ Phase 5: Документация (В планах)
|
||||
- ⏳ Обновление README
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user