Files
wiki/tasks/enduro-trails/TEST_CASES_TERRAIN.md
2026-05-11 11:50:01 +03:00

258 lines
10 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Тест-кейсы: Рельеф (Terrain Layer) — Фаза 5.4
**Дата:** 2026-05-11
**Версия BRD:** BRD_TERRAIN.md
**Исполнители:** Dev (автотесты + деплой), Стрим (ручная проверка), Слава (финальная приёмка)
---
## Распределение
| Кто | Что |
|-----|-----|
| 🤖 Dev | TC-01..TC-06 — данные и деплой (автоматически, в процессе реализации) |
| 🌊 Стрим | TC-07..TC-22 — ручная проверка через браузер/curl после деплоя |
| 👤 Слава | Финальная приёмка — только после «✅ Всё зелёное» от Стрим |
---
## Блок 1: Данные и инфраструктура (Dev)
### TC-01 — SRTM тайлы скачаны
**Исполнитель:** Dev
**Проверка:**
```bash
ls /home/slin/enduro-trails/data/srtm/*.hgt | wc -l
# Ожидаемо: >= 30 файлов
```
**Ожидаемый результат:** ≥30 `.hgt` файлов в директории
---
### TC-02 — Тайлы hypso сгенерированы
**Исполнитель:** Dev
**Проверка:**
```bash
find /home/slin/enduro-trails/data/terrain/hypso -name "*.png" | wc -l
# Ожидаемо: > 1000 файлов (зумы 5-15)
```
**Ожидаемый результат:** PNG тайлы присутствуют для зумов 5-15
---
### TC-03 — Тайлы hillshade сгенерированы
**Исполнитель:** Dev
**Проверка:**
```bash
find /home/slin/enduro-trails/data/terrain/hillshade -name "*.png" | wc -l
# Ожидаемо: > 500 файлов (зумы 10-15)
```
**Ожидаемый результат:** PNG тайлы присутствуют для зумов 10-15
---
### TC-04 — Тайл hypso доступен через nginx
**Исполнитель:** Dev
**Проверка:**
```bash
curl -o /dev/null -s -w "%{http_code}" \
"https://openclaw.mva154.duckdns.org/enduro/terrain/hypso/8/75/42.png"
# Ожидаемо: 200
```
**Ожидаемый результат:** HTTP 200, Content-Type: image/png
---
### TC-05 — Тайл hillshade доступен через nginx
**Исполнитель:** Dev
**Проверка:**
```bash
curl -o /dev/null -s -w "%{http_code}" \
"https://openclaw.mva154.duckdns.org/enduro/terrain/hillshade/12/2400/1340.png"
# Ожидаемо: 200
```
**Ожидаемый результат:** HTTP 200, Content-Type: image/png
---
### TC-06 — Cache-Control заголовок
**Исполнитель:** Dev
**Проверка:**
```bash
curl -I "https://openclaw.mva154.duckdns.org/enduro/terrain/hypso/8/75/42.png" \
| grep -i cache-control
# Ожидаемо: Cache-Control: public, immutable
```
**Ожидаемый результат:** `Cache-Control: public, immutable` в заголовках
---
## Блок 2: Фронтенд — кнопка и попап (Стрим)
### TC-07 — Кнопка 🏔️ присутствует в toolbar
**Исполнитель:** Стрим
**Шаги:** Открыть https://openclaw.mva154.duckdns.org/enduro/
**Ожидаемый результат:** Кнопка 🏔️ видна в toolbar, после кнопки слоёв, перед линейкой
**Проверка:** `curl` + grep по `terrain-toggle` в HTML
---
### TC-08 — Попап открывается по нажатию
**Исполнитель:** Стрим
**Шаги:** Нажать кнопку 🏔️
**Ожидаемый результат:** Появляется попап с двумя чекбоксами «Цветной рельеф» и «Теневой рельеф»
---
### TC-09 — Попап закрывается повторным нажатием
**Исполнитель:** Стрим
**Шаги:** Нажать 🏔️ → попап открылся → нажать 🏔️ снова
**Ожидаемый результат:** Попап закрылся
---
### TC-10 — Попап закрывается по тапу вне
**Исполнитель:** Стрим
**Шаги:** Открыть попап → кликнуть на карту
**Ожидаемый результат:** Попап закрылся
---
### TC-11 — Теневой чекбокс disabled на малом зуме
**Исполнитель:** Стрим
**Шаги:** Зум 8 → открыть попап
**Ожидаемый результат:** Чекбокс «Теневой рельеф» серый (disabled), видна подпись «Доступно при приближении»
---
### TC-12 — Теневой чекбокс enabled на зуме 10+
**Исполнитель:** Стрим
**Шаги:** Зум 10 → открыть попап
**Ожидаемый результат:** Чекбокс «Теневой рельеф» активен, подпись скрыта
---
## Блок 3: Слои на карте (Стрим)
### TC-13 — Цветной рельеф включается
**Исполнитель:** Стрим
**Шаги:** Зум 6 → 🏔️ → включить «Цветной рельеф»
**Ожидаемый результат:** На карте появляется цветная заливка рельефа (зелёный/жёлтый/коричневый)
---
### TC-14 — Цветной рельеф выключается
**Исполнитель:** Стрим
**Шаги:** Включить → выключить «Цветной рельеф»
**Ожидаемый результат:** Цветная заливка исчезает, карта как была
---
### TC-15 — Теневой рельеф включается на зуме 12
**Исполнитель:** Стрим
**Шаги:** Зум 12 → 🏔️ → включить «Теневой рельеф»
**Ожидаемый результат:** Появляются тени на склонах и оврагах
---
### TC-16 — Теневой рельеф не виден на зуме < 10 даже если включён
**Исполнитель:** Стрим
**Шаги:** Включить «Теневой» на зуме 12 → отзумить до зума 8
**Ожидаемый результат:** Тени исчезают (слой скрыт), чекбокс остаётся checked
---
### TC-17 — Теневой рельеф возвращается при приближении
**Исполнитель:** Стрим
**Шаги:** Продолжение TC-16 → зумить обратно до 10+
**Ожидаемый результат:** Тени снова появляются (чекбокс был checked)
---
### TC-18 — Оба слоя одновременно
**Исполнитель:** Стрим
**Шаги:** Зум 12 → включить оба чекбокса
**Ожидаемый результат:** Видны и цвет рельефа, и тени поверх. Дороги видны поверх рельефа.
---
### TC-19 — Рельеф под дорогами (z-index)
**Исполнитель:** Стрим
**Шаги:** Включить оба слоя, зум 12
**Ожидаемый результат:** Дороги и треки видны поверх рельефа, не перекрываются
---
### TC-20 — Кнопка подсвечивается при активном слое
**Исполнитель:** Стрим
**Шаги:** Включить хотя бы один слой
**Ожидаемый результат:** Кнопка 🏔️ подсвечена (класс `active`)
---
### TC-21 — Кнопка не подсвечена когда оба выключены
**Исполнитель:** Стрим
**Шаги:** Выключить оба слоя
**Ожидаемый результат:** Кнопка 🏔️ без подсветки
---
## Блок 4: Персистентность (Стрим)
### TC-22 — Состояние сохраняется после перезагрузки
**Исполнитель:** Стрим
**Шаги:**
1. Включить «Цветной рельеф», выключить «Теневой»
2. Перезагрузить страницу (F5)
**Ожидаемый результат:** «Цветной» включён, «Теневой» выключен — как было до перезагрузки
---
### TC-23 — Оба выключены после перезагрузки (дефолт)
**Исполнитель:** Стрим
**Шаги:** Выключить оба → перезагрузить
**Ожидаемый результат:** Оба чекбокса сняты, слои не видны
---
## Блок 5: Мобильный (Стрим — через DevTools mobile emulation)
### TC-24 — Попап не перекрывает кнопки на мобильном
**Исполнитель:** Стрим
**Шаги:** DevTools → iPhone 14 → открыть попап
**Ожидаемый результат:** Попап виден полностью, не перекрывает toolbar и кнопки масштаба
---
### TC-25 — Тап вне попапа закрывает его на мобильном
**Исполнитель:** Стрим
**Шаги:** Мобильная эмуляция → открыть попап → тапнуть на карту
**Ожидаемый результат:** Попап закрылся
---
## Итого
| Блок | Тест-кейсов | Исполнитель |
|------|-------------|-------------|
| 1. Данные и инфраструктура | TC-01..TC-06 (6 шт) | 🤖 Dev |
| 2. Кнопка и попап | TC-07..TC-12 (6 шт) | 🌊 Стрим |
| 3. Слои на карте | TC-13..TC-21 (9 шт) | 🌊 Стрим |
| 4. Персистентность | TC-22..TC-23 (2 шт) | 🌊 Стрим |
| 5. Мобильный | TC-24..TC-25 (2 шт) | 🌊 Стрим |
| **Итого** | **25 тест-кейсов** | |
---
## Порядок работы
```
Dev реализует → деплоит → сообщает Стрим
Стрим прогоняет TC-07..TC-25 (ручные)
Баги → Dev фиксит → Стрим перепроверяет
Всё зелёное → Стрим даёт отмашку Славе
```