Фаза: 10. Тестирование
Дата: 2026-02-14
Версия: 1.0.0
Убедиться что все 9 кастомных модулей работают корректно и готовы к импорту данных.
Статус: ✅ 205/205 passed
Расположение: it/lider-drupal/app/modules/custom/*/tests/
Команда:
cd it/lider-drupal/app/modules/custom/
phpunit
Покрытие: 100% (все модули)
Цель: Проверить работу модулей в реальных условиях.
Приоритеты:
- 🔴 Высокий — критичные функции (каталог, совместимость)
- 🟡 Средний — важные функции (импорт, запчасти)
- 🟢 Низкий — вспомогательные (SEO, setup)
Цель: Проверить взаимодействие модулей между собой.
Связи:
dru_lider_setup
↓
dru_lider_catalog ← dru_lider_models
↓ ↓
dru_lider_products dru_lider_parts
↓ ↓
└─→ dru_lider_compatibility ←┘
Назначение: Каталог товаров (Categories, Products)
Шаги:
1. Открыть админ-панель Drupal
2. Structure → Taxonomy → Categories
3. Создать категорию "Кабина"
4. Сохранить
Ожидаемый результат:
- Категория создана
- Отображается в списке
- URL сгенерирован автоматически
Приоритет: 🔴 Высокий
Шаги:
1. Создать марку "Volvo" (уровень 1)
2. Создать модель "4-FH" с parent = Volvo (уровень 2)
3. Создать систему "Кабина" (уровень 3)
4. Создать товар "Амортизатор" в системе Кабина (уровень 4)
Ожидаемый результат:
- Иерархия: Volvo → 4-FH → Кабина → Амортизатор
- Breadcrumbs работают
- URL: /zapchasti/volvo/4-fh/kabina/amortizator-20499340/
Приоритет: 🔴 Высокий
Шаги:
1. Перейти на страницу категории "Подвеска"
2. Проверить отображение товаров
Ожидаемый результат:
- Список товаров загружается
- Grid layout (3-4 колонки)
- Фото, название, цена отображаются
Приоритет: 🔴 Высокий
Назначение: Модели грузовиков (Brand, Model, Modification)
Шаги:
1. Structure → Taxonomy → Brands
2. Создать бренд "Volvo"
3. Сохранить
Ожидаемый результат:
- Бренд создан
- Доступен для выбора в моделях
Приоритет: 🔴 Высокий
Шаги:
1. Structure → Taxonomy → Models
2. Создать модель "FH4"
3. Выбрать бренд = Volvo
4. Указать платформу = "4-series"
5. Сохранить
Ожидаемый результат:
- Модель создана
- Связь с брендом работает
- Платформа сохранена
Приоритет: 🔴 Высокий
Шаги:
1. Проверить список моделей для бренда Volvo
2. Убедиться что FH4 отображается под Volvo
Ожидаемый результат:
- Иерархия: Volvo → FH4
- Фильтрация по бренду работает
Приоритет: 🔴 Высокий
Назначение: Матрица совместимости деталь-модель (M:N)
Шаги:
1. Редактировать товар "Амортизатор"
2. В поле "Compatible Models" выбрать:
- Volvo FH4
- Volvo FM
3. Сохранить
Ожидаемый результат:
- Связи сохранены
- На карточке товара: "✓ Подходит для Volvo FH4, Volvo FM"
Приоритет: 🔴 Высокий
Шаги:
1. Открыть карточку товара "Амортизатор"
2. Проверить раздел "Совместимость"
Ожидаемый результат:
- Отображается список совместимых моделей
- Отображается "НЕ подходит для" (если есть несовместимые)
Приоритет: 🔴 Высокий
Шаги:
1. Открыть категорию "Амортизаторы"
2. Включить фильтр "Модель = Volvo FH4"
3. Проверить результаты
Ожидаемый результат:
- Показываются ТОЛЬКО товары совместимые с Volvo FH4
- Счётчик товаров корректен
Приоритет: 🔴 Высокий
Назначение: Импорт товаров из CSV
Подготовка:
1. Создать test.csv:
sku,title,oem,price,category,brand,model
TEST001,Амортизатор тестовый,20499340,5200,Подвеска,Volvo,FH4
TEST002,Турбина тестовая,123456,12000,Двигатель,MAN,TGX
...
Шаги:
1. Content → Import
2. Выбрать test.csv
3. Запустить импорт
Ожидаемый результат:
- 10 товаров импортировано
- Все поля заполнены корректно
- Связи с категориями и моделями работают
Приоритет: 🟡 Средний
Шаги:
1. Изменить цену TEST001 в CSV: 5200 → 5500
2. Повторный импорт
3. Проверить товар TEST001
Ожидаемый результат:
- Цена обновлена на 5500
- Остальные поля не изменились
- Дублирование не произошло (по SKU)
Приоритет: 🟡 Средний
Назначение: Запчасти + доп. функционал
Шаги:
1. Content → Add content → Part
2. Заполнить поля:
- Название: "Амортизатор передний"
- OEM: "20499340"
- Категория: Подвеска
3. Сохранить
Ожидаемый результат:
- Запчасть создана
- OEM номер сохранён
- Связь с категорией работает
Приоритет: 🟡 Средний
Назначение: Расширение Commerce Product
Шаги:
1. Commerce → Products → Add product
2. Заполнить:
- Title: "Амортизатор передний Volvo FH4"
- SKU: "BAZON-20499340"
- Price: 5200
3. Сохранить
Ожидаемый результат:
- Товар создан в Commerce
- Цена корректна
- SKU уникален
Приоритет: 🟡 Средний
Назначение: SEO (мета-теги, redirects)
Шаги:
1. Открыть карточку товара "Амортизатор"
2. Проверить HTML
Ожидаемый результат:
- Title: "Амортизатор OEM 20499340 для Volvo FH4 | Лидер Авто"
- Description: заполнено автоматически
- OG-теги присутствуют
Приоритет: 🟢 Низкий
Шаги:
1. Проверить URL товара
Ожидаемый результат:
- URL: /zapchasti/volvo/4-fh/kabina/amortizator-20499340/
- БЕЗ: ?q=node/123
Приоритет: 🟢 Низкий
Назначение: Настройка окружения
Шаги:
1. Structure → Taxonomy
2. Проверить наличие:
- Brands
- Models
- Systems
- Nodes
Ожидаемый результат:
- Все словари созданы
- Поля настроены
Приоритет: 🟢 Низкий
Назначение: Frontend компоненты
Шаги:
1. Открыть главную страницу
2. Навести на "КАТАЛОГ"
Ожидаемый результат:
- Mega Menu открывается
- 3 колонки: Бренды | Системы | Популярное
- Ссылки работают
Приоритет: 🟢 Низкий
Шаги:
1. Создать бренд "Scania"
2. Создать модель "R-series"
3. Создать категорию "Тормоза"
4. Создать товар "Тормозной диск Scania"
5. Добавить совместимость: Scania R-series
6. Проверить отображение в каталоге
Ожидаемый результат:
- Все связи работают
- Товар отображается в правильной категории
- Совместимость показывается корректно
- Фильтрация работает
Приоритет: 🔴 Высокий
Шаги:
1. Импортировать CSV с 10 товарами
2. Проверить что совместимость установлена
3. Проверить фильтрацию в каталоге
Ожидаемый результат:
- Импорт прошёл успешно
- Связи Product ↔ Model созданы
- Фильтры работают
Приоритет: 🔴 Высокий
Метрика: < 2 сек
Шаги:
1. Открыть категорию со 100 товарами
2. Измерить время загрузки (Chrome DevTools)
Ожидаемый результат:
- TTFB < 300ms
- Полная загрузка < 2 сек
Метрика: < 500ms
Шаги:
1. Ввести в поиск "амортизатор"
2. Измерить время ответа
Ожидаемый результат:
- Ответ < 500ms
- Релевантные результаты
cd it/lider-drupal/app/modules/custom/
phpunit
Ожидается: ✅ 205/205 passed
Порядок:
1. 🔴 Высокий приоритет (9 тест-кейсов)
2. 🟡 Средний приоритет (4 тест-кейса)
3. 🟢 Низкий приоритет (4 тест-кейса)
Инструмент: Браузер + ручная проверка
Тест-кейсы:
- TC-INT-001: Полный цикл
- TC-INT-002: Импорт → Совместимость → Каталог
Тест-кейсы:
- TC-PERF-001: Загрузка каталога
- TC-PERF-002: Поиск
Файл: testing/GUIDE-testing-results.md
Формат:
## Дата: YYYY-MM-DD
### TC-CAT-001: Создание категории
- Статус: ✅ Passed
- Комментарий: —
### TC-CAT-002: Иерархия категорий
- Статус: ❌ Failed
- Комментарий: Breadcrumbs не отображаются
- Bug: #001
Версия: 1.0.0