Files
enduro-trails/docs/work-items/ET-006/04b-ui-test-cases.md
claude-bot 6edf97fe79
Some checks failed
CI / lint (push) Failing after 4s
CI / test (push) Successful in 6s
CI / build (push) Has been skipped
analyst(ET): auto-commit from analyst run_id=59
2026-06-03 17:33:09 +00:00

7.0 KiB
Raw Blame History

type, work_item_id, title, version, status, created_at, updated_at, authors
type work_item_id title version status created_at updated_at authors
ui-test-cases ET-006 UI Test Cases: Скачивание трека из popup на карте 1 approved 2026-06-03 2026-06-03
agent:analyst

UI Test Cases — ET-006

Тесты выполняются Playwright'ом против test-окружения https://openclaw.mva154.duckdns.org/enduro/.

Селекторы:

  • #map — контейнер MapLibre
  • #terrain-toggle — кнопка вызова terrain-popup со списком слоёв
  • #public-tracks-cb — чекбокс «Публичные треки»
  • .maplibregl-popup — корневой класс popup'а MapLibre
  • .track-popup — корневой класс контента нашего popup'а
  • .track-popup-name, .track-popup-row, .track-popup-sources — существующие блоки (см. _renderTrackPopupHtml)
  • .track-popup-actions — НОВЫЙ блок (TRZ REQ-F-12)
  • .track-popup-download — НОВАЯ кнопка-ссылка (TRZ REQ-F-12)
  • #app-toast — toast-уведомления

TC-UI-01 — Кнопка «Скачать GPX» видна в popup'е (desktop)

  • тип: ui
  • viewport: desktop
  • покрывает: AC-01

Шаги:

  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: 1500
  7. screenshot: 01-layer-enabled-desktop
  8. Зумим до 14 на известной локации с треками (Подмосковье)

  9. zoom-to: [37.5, 55.8, 14] — реализуется через page.evaluate(map.setZoom)

  10. wait: 3000
  11. click: #map # клик по центру карты, где должен быть трек
  12. wait: 1000
  13. screenshot: 02-popup-open-desktop
  14. check-visual: popup .maplibregl-popup виден, внутри .track-popup-download существует, текст содержит «Скачать GPX»

TC-UI-02 — Кнопка видна и тапабельна (mobile)

  • тип: ui
  • viewport: mobile (375 × 812)
  • покрывает: AC-02, TRZ REQ-F-16

Шаги:

  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: 1500
  7. zoom-to: [37.5, 55.8, 14]

  8. wait: 3000
  9. click: #map
  10. wait: 1000
  11. screenshot: 03-popup-mobile
  12. check-visual:
    • popup полностью помещается в viewport, не уходит за правый край
    • .track-popup-download виден целиком (не обрезан)
    • bounding rect высоты .track-popup-download ≥ 36 px
    • текст «Скачать GPX» не переносится посередине слова

TC-UI-03 — Кнопка отображается на zoom 9 (MVT-режим)

  • тип: ui
  • viewport: desktop
  • покрывает: AC-03

Шаги:

  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: 1500
  7. zoom-to: [37.5, 55.8, 9]

  8. wait: 3000
  9. click: #map # клик на трек, отрисованный из MVT
  10. wait: 1000
  11. screenshot: 04-popup-mvt-z9
  12. check-visual: .track-popup-download присутствует и текст «Скачать GPX»

TC-UI-04 — Клик по кнопке не закрывает popup (визуально)

  • тип: ui
  • viewport: desktop
  • покрывает: AC-14, TRZ REQ-F-14

Шаги:

  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: 1500
  7. zoom-to: [37.5, 55.8, 14]

  8. wait: 3000
  9. click: #map
  10. wait: 1000
  11. screenshot: 05-popup-before-click
  12. click: .track-popup-download
  13. wait: 1500
  14. screenshot: 06-popup-after-click
  15. check-visual:
    • .maplibregl-popup всё ещё виден (popup НЕ закрылся)
    • в браузере инициирован download (см. Playwright page.on('download'))

TC-UI-05 — Существующий terrain-popup и фильтры не сломаны

  • тип: ui
  • viewport: desktop
  • покрывает: AC-16

Шаги:

  1. navigate: https://openclaw.mva154.duckdns.org/enduro/
  2. wait: 5000
  3. click: #terrain-toggle
  4. wait: 500
  5. screenshot: 07-terrain-popup
  6. check-visual: чекбоксы «Тени рельефа», «Перепады», «Грунтовки», «Тропы», «Публичные треки», «POI», переключатель «Подложка Схема/Спутник», переключатель «Единицы км/мили» — все на своих местах, без визуальных артефактов.
  7. click: #public-tracks-cb
  8. wait: 1500
  9. ожидаем что появилась кнопка «Фильтры…»

  10. screenshot: 08-public-tracks-active
  11. check-visual: видна кнопка «Фильтры…» под чекбоксом «Публичные треки»
  12. click: #public-tracks-filters-btn
  13. wait: 1000
  14. screenshot: 09-filters-sheet
  15. check-visual: открылся sheet с группами «Активности», «Источники», «Цвет линий», блок «Показано / в области» — формат и стили идентичны baseline (до изменения).

TC-UI-06 — Стили кнопки в тёмной теме

  • тип: ui
  • viewport: desktop
  • покрывает: TRZ REQ-F-15

Шаги:

  1. navigate: https://openclaw.mva154.duckdns.org/enduro/
  2. wait: 5000
  3. Тёмная тема — дефолт (body.theme-dark), убедиться

  4. click: #terrain-toggle
  5. click: #public-tracks-cb
  6. wait: 1500
  7. zoom-to: [37.5, 55.8, 14]

  8. wait: 3000
  9. click: #map
  10. wait: 1000
  11. screenshot: 10-popup-dark-theme
  12. check-visual:
    • кнопка .track-popup-download контрастна к фону popup'а
    • цвет текста явно отличается от обычных серых строк popup'а
    • hover (page.hover('.track-popup-download')) меняет состояние (подчёркивание / темнее фон)
  13. screenshot: 11-popup-dark-theme-hover

TC-UI-07 — Toast при сетевой ошибке (визуальный вариант TC-E2E-02)

  • тип: ui
  • viewport: desktop
  • покрывает: AC-15

Шаги:

  1. navigate: https://openclaw.mva154.duckdns.org/enduro/
  2. перед загрузкой страницы — page.route('**/api/gps-tracks/*.gpx',

    r => r.fulfill({ status: 500, body: '{}' }))
  3. wait: 5000
  4. click: #terrain-toggle
  5. click: #public-tracks-cb
  6. wait: 1500
  7. zoom-to: [37.5, 55.8, 14]

  8. wait: 3000
  9. click: #map
  10. wait: 1000
  11. click: .track-popup-download
  12. wait: 2000
  13. screenshot: 12-toast-error
  14. check-visual:
    • #app-toast виден с текстом «Не удалось скачать трек»
    • popup остался открытым