445 lines
17 KiB
Markdown
445 lines
17 KiB
Markdown
---
|
||
type: ui-test-cases
|
||
work_item_id: ET-008
|
||
title: "UI Test Cases: GPS-треки с публичных платформ"
|
||
version: 2
|
||
status: draft
|
||
created_at: 2026-06-01
|
||
updated_at: 2026-06-01
|
||
changelog:
|
||
- "v2 (2026-06-01): полная переработка под BRD/TRZ v2 — чекбокс «Публичные треки» в попапе, sheet фильтров, halo на спутнике, popup трека. Предыдущая v1 описывала вкладки источников в #sheet-gpx (URL/OSM)."
|
||
authors:
|
||
- "agent:analyst"
|
||
---
|
||
|
||
# UI Test Cases — ET-008: GPS-треки с публичных платформ
|
||
|
||
Базовый URL: `https://openclaw.mva154.duckdns.org/enduro/`
|
||
|
||
Все тесты проверяют появление и поведение нового слоя «Публичные
|
||
треки»: чекбокса в `#terrain-popup`, sheet фильтров, отрисовки линий,
|
||
popup и совместимости со спутниковой подложкой / тёмной темой.
|
||
|
||
Селекторы (новые, добавляются ET-008):
|
||
|
||
- `#public-tracks-cb` — чекбокс «Публичные треки» в `#terrain-popup`
|
||
- `#public-tracks-zoom-hint` — подсказка «Зум 8+»
|
||
- `#public-tracks-filters-btn` — ссылка «Фильтры…»
|
||
- `#sheet-gps-filters` — bottom sheet фильтров
|
||
- `#gps-activity-grid` — секция чекбоксов активности
|
||
- `#gps-source-grid` — секция чекбоксов источников
|
||
- `#gps-color-by-source`, `#gps-color-by-activity` — переключатель color-mode
|
||
- `#gps-stat-total`, `#gps-stat-shown` — счётчики в sheet
|
||
- `.gps-track-popup` — MapLibre Popup с метаданными трека (имя класса
|
||
можно задать через `setHTML` и контейнер)
|
||
|
||
Существующие селекторы: `#terrain-toggle`, `#terrain-popup`,
|
||
`#btn-theme`, `#base-btn-satellite`, `#base-btn-schematic`,
|
||
`#terrain-hillshade-cb`, `#tb-gpx`, `#map`.
|
||
|
||
Предусловие: тестовая среда содержит pre-collected dataset публичных
|
||
треков (или mock-backend подменяет `/api/gps-tracks*` фикстурами).
|
||
|
||
---
|
||
|
||
### TC-UI-01 — Чекбокс «Публичные треки» виден в попапе
|
||
|
||
- тип: ui
|
||
- viewport: desktop
|
||
|
||
шаги:
|
||
1. navigate: https://openclaw.mva154.duckdns.org/enduro/
|
||
2. wait: 5000
|
||
3. click: "#terrain-toggle"
|
||
4. wait: 500
|
||
5. screenshot: "01-popup-with-public-tracks-checkbox"
|
||
6. check-visual: "В открытом попапе #terrain-popup между секциями «Тропы» и «POI» (после соответствующего разделителя `<hr>`) видна строка «Публичные треки» с чекбоксом #public-tracks-cb. По умолчанию чекбокс снят, ссылка «Фильтры…» не видна."
|
||
|
||
---
|
||
|
||
### TC-UI-02 — Включение слоя «Публичные треки»
|
||
|
||
- тип: ui
|
||
- viewport: desktop
|
||
|
||
шаги:
|
||
1. navigate: https://openclaw.mva154.duckdns.org/enduro/
|
||
2. wait: 5000
|
||
3. click: "#terrain-toggle"
|
||
4. wait: 500
|
||
5. click: "#public-tracks-cb"
|
||
6. wait: 3000
|
||
7. screenshot: "02-public-tracks-enabled"
|
||
8. check-visual: "Чекбокс установлен. На карте поверх существующих trail-линий и POI видны цветные линии публичных треков (отдельные линии, не heatmap). Рядом с чекбоксом появилась ссылка «Фильтры…»."
|
||
|
||
---
|
||
|
||
### TC-UI-03 — Подсказка «Зум 8+» на низком зуме
|
||
|
||
- тип: ui
|
||
- viewport: desktop
|
||
|
||
шаги:
|
||
1. navigate: https://openclaw.mva154.duckdns.org/enduro/?z=5
|
||
2. wait: 5000
|
||
3. click: "#terrain-toggle"
|
||
4. wait: 500
|
||
5. click: "#public-tracks-cb"
|
||
6. wait: 1500
|
||
7. screenshot: "03-public-tracks-zoom-hint"
|
||
8. check-visual: "Чекбокс включён, но на карте линии публичных треков не видны. Рядом с чекбоксом (или под ним) отображается подсказка «Зум 8+» (стилем как существующая подсказка «Зум 10+» у hillshade)."
|
||
|
||
---
|
||
|
||
### TC-UI-04 — Открытие sheet фильтров
|
||
|
||
- тип: ui
|
||
- viewport: desktop
|
||
|
||
шаги:
|
||
1. navigate: https://openclaw.mva154.duckdns.org/enduro/
|
||
2. wait: 5000
|
||
3. click: "#terrain-toggle"
|
||
4. wait: 500
|
||
5. click: "#public-tracks-cb"
|
||
6. wait: 2000
|
||
7. click: "#public-tracks-filters-btn"
|
||
8. wait: 800
|
||
9. screenshot: "04-gps-filters-sheet-open"
|
||
10. check-visual: "Открылся bottom sheet #sheet-gps-filters с заголовком «Фильтры публичных треков». Видны секции: «ТИП АКТИВНОСТИ» (7 чекбоксов: эндуро, мото, off-road, велосипед, пешком, лыжи, другое), «ИСТОЧНИК» (≥ 3 чекбокса), «ЦВЕТ ЛИНИЙ» (segmented control «По источнику» / «По активности»). По умолчанию все чекбоксы установлены, color-mode='По источнику' активен."
|
||
|
||
---
|
||
|
||
### TC-UI-05 — Фильтрация по активности (клиентская, мгновенная)
|
||
|
||
- тип: ui
|
||
- viewport: desktop
|
||
|
||
шаги:
|
||
1. navigate: https://openclaw.mva154.duckdns.org/enduro/
|
||
2. wait: 5000
|
||
3. click: "#terrain-toggle"
|
||
4. wait: 500
|
||
5. click: "#public-tracks-cb"
|
||
6. wait: 3000
|
||
7. click: "#public-tracks-filters-btn"
|
||
8. wait: 800
|
||
9. screenshot: "05a-filters-all-on"
|
||
10. check-visual: "В sheet видны все 7 чекбоксов активности — установлены. На карте видно много линий разных типов."
|
||
11. click: "#gps-activity-grid input[value='bicycle']"
|
||
12. wait: 300
|
||
13. click: "#gps-activity-grid input[value='hike']"
|
||
14. wait: 300
|
||
15. click: "#gps-activity-grid input[value='ski']"
|
||
16. wait: 300
|
||
17. click: "#gps-activity-grid input[value='other']"
|
||
18. wait: 500
|
||
19. screenshot: "05b-filters-only-moto-types"
|
||
20. check-visual: "Выключены чекбоксы «Велосипед», «Пешком», «Лыжи», «Другое». На карте линий стало заметно меньше (только enduro/moto/offroad). Счётчик «Видны (фильтр)» в нижней части sheet уменьшился."
|
||
|
||
---
|
||
|
||
### TC-UI-06 — Фильтрация по источнику
|
||
|
||
- тип: ui
|
||
- viewport: desktop
|
||
|
||
шаги:
|
||
1. navigate: https://openclaw.mva154.duckdns.org/enduro/
|
||
2. wait: 5000
|
||
3. click: "#terrain-toggle"
|
||
4. wait: 500
|
||
5. click: "#public-tracks-cb"
|
||
6. wait: 3000
|
||
7. click: "#public-tracks-filters-btn"
|
||
8. wait: 800
|
||
9. click: "#gps-source-grid input[value='osm']"
|
||
10. wait: 500
|
||
11. screenshot: "06-source-osm-disabled"
|
||
12. check-visual: "Чекбокс «OSM» снят. На карте все линии цвета OSM (зелёного — при color-by-source) скрыты. Счётчик «Видны» уменьшился."
|
||
|
||
---
|
||
|
||
### TC-UI-07 — Переключение color-mode
|
||
|
||
- тип: ui
|
||
- viewport: desktop
|
||
|
||
шаги:
|
||
1. navigate: https://openclaw.mva154.duckdns.org/enduro/
|
||
2. wait: 5000
|
||
3. click: "#terrain-toggle"
|
||
4. wait: 500
|
||
5. click: "#public-tracks-cb"
|
||
6. wait: 3000
|
||
7. click: "#public-tracks-filters-btn"
|
||
8. wait: 800
|
||
9. screenshot: "07a-color-by-source"
|
||
10. check-visual: "Активна кнопка «По источнику». Линии на карте окрашены по источникам (например, зелёный = OSM, красный = EnduroRussia)."
|
||
11. click: "#gps-color-by-activity"
|
||
12. wait: 600
|
||
13. screenshot: "07b-color-by-activity"
|
||
14. check-visual: "Активна кнопка «По активности». Линии перекрашены: например, красные = enduro, оранжевые = moto. Кнопка «По источнику» больше не подсвечена."
|
||
|
||
---
|
||
|
||
### TC-UI-08 — Popup при клике на трек
|
||
|
||
- тип: ui
|
||
- viewport: desktop
|
||
|
||
шаги:
|
||
1. navigate: https://openclaw.mva154.duckdns.org/enduro/
|
||
2. wait: 5000
|
||
3. click: "#terrain-toggle"
|
||
4. wait: 500
|
||
5. click: "#public-tracks-cb"
|
||
6. wait: 3000
|
||
7. click: "#map"
|
||
8. wait: 1500
|
||
9. screenshot: "08-track-popup"
|
||
10. check-visual: "При клике на линию трека (предполагается, что под центром карты есть трек) открылся MapLibre Popup. В нём видны: иконка активности (🏍 / 🚴 / …) + текстовая метка, длина в км, дата (если есть), автор (если есть), список источников со ссылками '↗'. Popup имеет крестик закрытия."
|
||
|
||
---
|
||
|
||
### TC-UI-09 — Halo на спутниковой подложке
|
||
|
||
- тип: ui
|
||
- viewport: desktop
|
||
|
||
шаги:
|
||
1. navigate: https://openclaw.mva154.duckdns.org/enduro/
|
||
2. wait: 5000
|
||
3. click: "#terrain-toggle"
|
||
4. wait: 500
|
||
5. click: "#public-tracks-cb"
|
||
6. wait: 3000
|
||
7. click: "#base-btn-satellite"
|
||
8. wait: 5000
|
||
9. screenshot: "09-public-tracks-on-satellite"
|
||
10. check-visual: "Карта показывает спутниковые снимки. Линии публичных треков видны поверх спутника, у каждой линии есть белая (или светлая) обводка-halo для контраста на тёмном фоне. Цвета линий по-прежнему отличаются по источнику/активности."
|
||
|
||
---
|
||
|
||
### TC-UI-10 — Возврат на схему — halo пропадает
|
||
|
||
- тип: ui
|
||
- viewport: desktop
|
||
|
||
шаги:
|
||
1. navigate: https://openclaw.mva154.duckdns.org/enduro/
|
||
2. wait: 5000
|
||
3. click: "#terrain-toggle"
|
||
4. wait: 500
|
||
5. click: "#public-tracks-cb"
|
||
6. wait: 3000
|
||
7. click: "#base-btn-satellite"
|
||
8. wait: 5000
|
||
9. click: "#base-btn-schematic"
|
||
10. wait: 3000
|
||
11. screenshot: "10-back-to-schematic-no-halo"
|
||
12. check-visual: "Карта вернулась на схему OSM. Линии публичных треков видны без halo (обычная толщина и цвет). На фоне светлой схемы — без обводки."
|
||
|
||
---
|
||
|
||
### TC-UI-11 — Сохранение слоя при переключении тёмной темы
|
||
|
||
- тип: ui
|
||
- viewport: desktop
|
||
|
||
шаги:
|
||
1. navigate: https://openclaw.mva154.duckdns.org/enduro/
|
||
2. wait: 5000
|
||
3. click: "#terrain-toggle"
|
||
4. wait: 500
|
||
5. click: "#public-tracks-cb"
|
||
6. wait: 3000
|
||
7. click: "#btn-theme"
|
||
8. wait: 3000
|
||
9. screenshot: "11-public-tracks-after-theme-switch"
|
||
10. check-visual: "После переключения темы (например, на тёмную) линии публичных треков остались на карте. Цвета сохранены. На тёмной теме линии хорошо различимы."
|
||
|
||
---
|
||
|
||
### TC-UI-12 — Сохранение слоя при включении hillshade
|
||
|
||
- тип: ui
|
||
- viewport: desktop
|
||
|
||
шаги:
|
||
1. navigate: https://openclaw.mva154.duckdns.org/enduro/
|
||
2. wait: 5000
|
||
3. click: "#terrain-toggle"
|
||
4. wait: 500
|
||
5. click: "#public-tracks-cb"
|
||
6. wait: 3000
|
||
7. click: "#terrain-hillshade-cb"
|
||
8. wait: 3000
|
||
9. screenshot: "12-public-tracks-over-hillshade"
|
||
10. check-visual: "Включён hillshade (тени рельефа). Линии публичных треков остаются видны поверх теней рельефа. Контраст сохраняется."
|
||
|
||
---
|
||
|
||
### TC-UI-13 — Совместимость с маршрутом OSRM (z-order)
|
||
|
||
- тип: ui
|
||
- viewport: desktop
|
||
|
||
шаги:
|
||
1. navigate: https://openclaw.mva154.duckdns.org/enduro/
|
||
2. wait: 5000
|
||
3. click: "#terrain-toggle"
|
||
4. wait: 500
|
||
5. click: "#public-tracks-cb"
|
||
6. wait: 3000
|
||
7. click: "#tb-route"
|
||
8. wait: 1000
|
||
9. click: "#map"
|
||
10. wait: 1500
|
||
11. scroll: 100
|
||
12. click: "#map"
|
||
13. wait: 5000
|
||
14. screenshot: "13-public-tracks-and-osrm-route"
|
||
15. check-visual: "Видны и линии публичных треков, и линия маршрута OSRM (синяя/оранжевая). Маршрут OSRM визуально лежит поверх публичных треков (выше по z-order). Обе системы линий читаемы."
|
||
|
||
---
|
||
|
||
### TC-UI-14 — Sheet фильтров на мобильном
|
||
|
||
- тип: ui
|
||
- viewport: mobile
|
||
|
||
шаги:
|
||
1. navigate: https://openclaw.mva154.duckdns.org/enduro/
|
||
2. wait: 5000
|
||
3. click: "#terrain-toggle"
|
||
4. wait: 500
|
||
5. click: "#public-tracks-cb"
|
||
6. wait: 3000
|
||
7. click: "#public-tracks-filters-btn"
|
||
8. wait: 800
|
||
9. screenshot: "14-gps-filters-mobile"
|
||
10. check-visual: "На мобильном viewport sheet #sheet-gps-filters занимает всю ширину. Все 7 чекбоксов активности видны (например, 2-3 колонки grid). Чекбоксы источников видны. Segmented control color-mode помещается. Все элементы нажимаемы, не перекрываются."
|
||
|
||
---
|
||
|
||
### TC-UI-15 — Включение слоя на мобильном
|
||
|
||
- тип: ui
|
||
- viewport: mobile
|
||
|
||
шаги:
|
||
1. navigate: https://openclaw.mva154.duckdns.org/enduro/
|
||
2. wait: 5000
|
||
3. click: "#terrain-toggle"
|
||
4. wait: 500
|
||
5. click: "#public-tracks-cb"
|
||
6. wait: 3000
|
||
7. screenshot: "15-public-tracks-mobile"
|
||
8. check-visual: "На мобильном устройстве после включения чекбокса линии публичных треков видны на карте. Попап слоёв и тулбар не перекрывают карту целиком — слой просматривается."
|
||
|
||
---
|
||
|
||
### TC-UI-16 — Persistence: слой включён после перезагрузки
|
||
|
||
- тип: ui
|
||
- viewport: desktop
|
||
|
||
шаги:
|
||
1. navigate: https://openclaw.mva154.duckdns.org/enduro/
|
||
2. wait: 5000
|
||
3. click: "#terrain-toggle"
|
||
4. wait: 500
|
||
5. click: "#public-tracks-cb"
|
||
6. wait: 3000
|
||
7. navigate: https://openclaw.mva154.duckdns.org/enduro/
|
||
8. wait: 6000
|
||
9. screenshot: "16-public-tracks-after-reload"
|
||
10. check-visual: "После перезагрузки страницы карта сразу показывает линии публичных треков (слой автоматически восстановлен из localStorage). Открытие попапа слоёв должно показать чекбокс установленным."
|
||
|
||
---
|
||
|
||
### TC-UI-17 — Persistence: фильтры сохраняются после перезагрузки
|
||
|
||
- тип: ui
|
||
- viewport: desktop
|
||
|
||
шаги:
|
||
1. navigate: https://openclaw.mva154.duckdns.org/enduro/
|
||
2. wait: 5000
|
||
3. click: "#terrain-toggle"
|
||
4. wait: 500
|
||
5. click: "#public-tracks-cb"
|
||
6. wait: 3000
|
||
7. click: "#public-tracks-filters-btn"
|
||
8. wait: 800
|
||
9. click: "#gps-activity-grid input[value='bicycle']"
|
||
10. wait: 300
|
||
11. click: "#gps-activity-grid input[value='hike']"
|
||
12. wait: 300
|
||
13. click: "#gps-color-by-activity"
|
||
14. wait: 500
|
||
15. navigate: https://openclaw.mva154.duckdns.org/enduro/
|
||
16. wait: 6000
|
||
17. click: "#terrain-toggle"
|
||
18. wait: 500
|
||
19. click: "#public-tracks-filters-btn"
|
||
20. wait: 800
|
||
21. screenshot: "17-filters-after-reload"
|
||
22. check-visual: "Чекбоксы «Велосипед» и «Пешком» по-прежнему сняты. Color-mode = «По активности» (соответствующая кнопка подсвечена). Линии на карте окрашены по активности."
|
||
|
||
---
|
||
|
||
### TC-UI-18 — Атрибуция источников
|
||
|
||
- тип: ui
|
||
- viewport: desktop
|
||
|
||
шаги:
|
||
1. navigate: https://openclaw.mva154.duckdns.org/enduro/
|
||
2. wait: 5000
|
||
3. click: "#terrain-toggle"
|
||
4. wait: 500
|
||
5. click: "#public-tracks-cb"
|
||
6. wait: 3000
|
||
7. screenshot: "18-attribution-public-tracks"
|
||
8. check-visual: "В правом нижнем углу карты (в стандартной MapLibre-панели атрибуции) видны строки с атрибуцией источников публичных треков: например, «© OpenStreetMap contributors (ODbL)» и «EnduroRussia.ru» (либо иконка info, при клике на которую разворачивается полный текст)."
|
||
|
||
---
|
||
|
||
### TC-UI-19 — Совместимость с личным GPX (ET-006)
|
||
|
||
- тип: ui
|
||
- viewport: desktop
|
||
|
||
шаги:
|
||
1. navigate: https://openclaw.mva154.duckdns.org/enduro/
|
||
2. wait: 5000
|
||
3. click: "#terrain-toggle"
|
||
4. wait: 500
|
||
5. click: "#public-tracks-cb"
|
||
6. wait: 3000
|
||
7. click: "#tb-gpx"
|
||
8. wait: 1000
|
||
9. screenshot: "19-public-tracks-with-gpx-sheet"
|
||
10. check-visual: "Открыт sheet #sheet-gpx (для личных треков из ET-006). Слой публичных треков на карте остаётся видимым. Sheet и слой не конфликтуют визуально. Список личных треков в sheet — пустой (если ничего не загружено)."
|
||
|
||
---
|
||
|
||
### TC-UI-20 — Выключение слоя — линии исчезают
|
||
|
||
- тип: ui
|
||
- viewport: desktop
|
||
|
||
шаги:
|
||
1. navigate: https://openclaw.mva154.duckdns.org/enduro/
|
||
2. wait: 5000
|
||
3. click: "#terrain-toggle"
|
||
4. wait: 500
|
||
5. click: "#public-tracks-cb"
|
||
6. wait: 3000
|
||
7. click: "#public-tracks-cb"
|
||
8. wait: 1500
|
||
9. screenshot: "20-public-tracks-disabled"
|
||
10. check-visual: "Чекбокс снят. Все линии публичных треков исчезли с карты. Ссылка «Фильтры…» рядом с чекбоксом скрылась. Базовые слои (схема, trails, POI) остались видимыми и без изменений."
|