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:
admin i 2026-02-11 08:37:57 +03:00
parent f7d3cd8c91
commit a29aa69d16

View File

@ -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