---
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) остались видимыми и без изменений."
