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