--- 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» (после соответствующего разделителя `
`) видна строка «Публичные треки» с чекбоксом #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) остались видимыми и без изменений."