Files
enduro-trails/docs/work-items/ET-008/04b-ui-test-cases.md
claude-bot 0840818c9a
All checks were successful
CI / lint (push) Successful in 5s
CI / test (push) Successful in 5s
CI / build (push) Successful in 1s
analyst(ET-008): BRD, TRZ, AC, TestPlan, UI tests v2
2026-06-01 11:44:40 +00:00

17 KiB
Raw Permalink Blame History

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
v2 (2026-06-01): полная переработка под BRD/TRZ v2 — чекбокс «Публичные треки» в попапе, sheet фильтров, halo на спутнике, popup трека. Предыдущая v1 описывала вкладки источников в #sheet-gpx (URL/OSM).
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) остались видимыми и без изменений."