Роудмап / ТЗ на тестирование расширения
Обновлено: 4 июня

ТЗ на тестирование: сделка через расширение

Каждый тест-кейс: Цель → Предусловия → Шаги (конкретно что нажать/ввести) → Ожидаемый результат → Результат (заполняет тестировщик: ✅/❌ + дата + что фактически было). Идти строго по порядку: TC-0 → TC-1 → … Без TC-0 остальные не пройдут.

TC-0. Подготовка стенда (обязательно)
TC-0.1Подготовить аккаунты
Цель
Иметь рабочую пару Продавец/Покупатель.
Шаги
  1. Завести/взять 2 Steam-аккаунта: Продавец и Покупатель.
  2. У обоих в Steam: Настройки → включить мобильный аутентификатор Steam (важно: активен >7 дней).
  3. У обоих скопировать трейд-ссылку (Steam → Инвентарь → Предложения обмена → «Кто может отправить мне предложение» → ссылка).
  4. На «Продавце» иметь 2 недорогих CS2-предмета (свободных, не на холде).
  5. Войти обоими на skins-arena.club через Steam.
  6. Вставить трейд-ссылки в ЛК → Настройки маркета у обоих.
  7. Пополнить баланс Покупателя минимум на цену будущего лота.
Ожидаемо
2 аккаунта готовы: Steam + сайт + трейд-ссылки + предметы у Продавца + баланс у Покупателя.
Результат
_____ (✅/❌, дата, факт)
TC-0.2Установить расширение Продавцу
Шаги
  1. Скачать сборку: sa-roadmap.ulike.club/dl/skinsarena-extension-chrome.zip, распаковать в папку.
  2. Chrome → адрес chrome://extensions → включить «Режим разработчика» (тумблер справа вверху).
  3. «Загрузить распакованное» → выбрать папку → расширение «SkinsArena» появилось, иконка в панели.
  4. В ТОМ ЖЕ браузере открыть steamcommunity.com и войти в Steam Продавца.
Ожидаемо
Расширение установлено, иконка видна; Steam залогинен в этом браузере.
Результат
_____
TC-1. Привязка расширения
TC-1.1Подключить расширение по токену
Предусл.
TC-0 пройден.
Шаги
  1. Продавец на сайте: ЛК → раздел «Расширение» (или «API/Расширение») → кнопка «Создать токен» → скопировать строку токена.
  2. Клик по иконке расширения → в поле вставить токен → «Подключить».
Ожидаемо
Попап перешёл в состояние «подключено»: видна кнопка «Синхронизировать» и строка статуса. Имя/аккаунт совпадает с Продавцом.
Негатив
Ввести случайный неверный токен → ожидать понятную ошибку, НЕ «подключено».
Результат
_____
TC-2. Синхронизация инвентаря
TC-2.1Ручная синхронизация
Шаги
  1. В попапе расширения нажать «Синхронизировать», дождаться завершения.
  2. На сайте: ЛК → Инвентарь → вкладка «Весь инвентарь».
Ожидаемо
Предметы Продавца отображаются (в т.ч. на холде). В попапе: время синка и количество предметов.
Негатив
Убрать трейд-ссылку в настройках → синк/выставление недоступны, сайт просит указать ссылку. Вернуть ссылку обратно.
Результат
_____
TC-3. Выставление на продажу
TC-3.1Одиночное выставление
Шаги
  1. ЛК → Инвентарь → «Весь инвентарь» → на свободном предмете нажать «Продать».
  2. В окне «Выставить на продажу» проверить: график цен за 30 дней, «Цена в Steam», «Цена на сайте».
  3. В поле «Цена, ₽» ввести, например, 100 → «Выставить».
Ожидаемо
Лот появился во вкладке «Активные» и в каталоге маркета по 100₽. Комиссия и «вы получите» показаны.
Негатив
Ввести 0 или пусто → ошибка «не меньше 0.01», лот НЕ создаётся.
Результат
_____
TC-3.2Массовое выставление (чекбоксы)
Шаги
  1. Инвентарь → кнопка «Выбрать несколько» (вверху).
  2. Поставить галки на 2 свободных предметах → нажать «Выставить выбранные (2)».
  3. В модалке у каждого ввести цену → «Выставить (2)».
Ожидаемо
Оба лота создались. Итоговая сумма к получению показана. Появились в «Активные».
Негатив
Включить в выбор предмет на холде → он попадёт в «не удалось» с причиной, остальные выставятся (не «всё или ничего»).
Результат
_____
TC-4. Полный цикл сделки (ГЛАВНОЕ)
TC-4.1Успешная сделка от и до
Предусл.
Лот Продавца выставлен (TC-3.1, 100₽). Браузер Продавца ОТКРЫТ, Steam залогинен, расширение подключено. У Покупателя ≥100₽.
Шаги
  1. Покупатель: маркет → найти лот Продавца → «Купить» (или через корзину) → подтвердить оплату с баланса.
  2. Проверить: у Покупателя сделка появилась, статус «Оплачена»; со счёта списано 100₽.
  3. Продавец: ничего не делать ~1–2 мин — расширение само должно создать Steam-оффер Покупателю. (Можно открыть попап, чтобы ускорить пробуждение.)
  4. Покупатель: открыть Steam → «Предложения обмена» → должен прийти оффер от Продавца → «Принять обмен», подтвердить.
  5. Подождать ~2 мин (расширение опрашивает статус каждые 1.5 мин).
Ожидаемо
  • Шаг 3: Покупателю в Steam РЕАЛЬНО пришёл оффер обмена с нужным предметом.
  • Шаг 5: на сайте сделка → «Завершена»; предмет у Покупателя в Steam; продавцу зачислены деньги (за вычетом комиссии, после снятия удержания).
  • Если у Продавца был бонус 10% — часть пришла сразу (вкладка «Бонусы»).
Если не так
Оффер не пришёл за 2 мин → открыть консоль воркера (chrome://extensions → SkinsArena → service worker → Inspect) и смотреть строки [poll], ошибки создания оффера. Проверить Steam Guard (TC-7) и трейд-ссылку Покупателя.
Результат
_____
TC-5. Таймауты и отмены
TC-5.1Продавец не отправил за 15 минут
Шаги
  1. Выставить новый лот Продавца. У Продавца ЗАКРЫТЬ браузер с расширением (или выйти из Steam) — чтобы оффер НЕ создался.
  2. Покупатель: купить этот лот (статус «Оплачена»).
  3. Подождать >15 минут.
Ожидаемо
Сделка авто-отменилась; 100₽ вернулись Покупателю на баланс; лот снова «Активен».
Результат
_____
TC-5.2Покупатель не принял оффер
Шаги
  1. Провести TC-4.1 до шага 3 (оффер создан), но Покупателю НЕ принимать обмен.
  2. Дождаться таймаута.
Ожидаемо
Оффер отзывается расширением, сделка отменяется, деньги возвращаются Покупателю.
Результат
_____
TC-6. Проверка трейд-бана продавца
TC-6.1Серверная проверка трейд-бана
Шаги
  1. На сервере выполнить php artisan sa:trade-ban-check <steamid64> для чистого SteamID и (если есть) забаненного.
  2. Если есть забаненный Steam-аккаунт-продавец с лотом — попробовать купить у него.
Ожидаемо
CLI печатает «трейд-бан: нет/да». Покупка у забаненного отбивается, лот снимается, Покупателю — «продавец не может передать, выберите другой лот».
Результат
_____
TC-7. Steam Guard при создании оффера
TC-7.1Подтверждение обмена в мобильном
Шаги
  1. Провести TC-4.1. В момент создания оффера следить за телефоном Продавца (Steam Mobile).
  2. Подтвердить исходящее предложение обмена в приложении Steam.
Ожидаемо
Расширение оставляет вкладку Steam/просит подтвердить; после подтверждения оффер уходит Покупателю.
Подводное
Без аутентификатора или при свежем (<7 дн) — обмен уйдёт в 7-дневный escrow (см. TC-8).
Результат
_____
TC-8. 7-дневный холд Steam
TC-8.1Escrow при слабом аутентификаторе
Шаги
Провести TC-4.1 с аккаунтом, где аутентификатор НЕ настроен/свежий.
Ожидаемо
После принятия сделка фиксируется как «принято + удержание Steam», завершается после снятия 7-дневного холда; статус на сайте отражает удержание.
Результат
_____
TC-9. Надёжность расширения
TC-9.1«Засыпание» и авто-пробуждение
Шаги
  1. Свернуть вкладку Steam, не трогать браузер ~40–60 мин (расширение «уснёт»).
  2. Покупатель совершает покупку у этого Продавца.
  3. Не открывая попап, подождать до ~10 мин.
Ожидаемо
Расширение само просыпается по будильнику (1.5–10 мин), перечитывает свежий токен Steam и создаёт оффер БЕЗ ручного синка. (Открытие попапа ускоряет.)
Проверка
В консоли воркера видно повторные тики [poll] и переустановку будильников.
Результат
_____
TC-10. Кросс-браузер
TC-10.1Повтор ключевого в Firefox
Шаги
Установить firefox-сборку (.xpi через about:debugging → «Загрузить временное дополнение») в Firefox с залогиненным Steam. Повторить TC-2.1 и TC-4.1.
Ожидаемо
Синк и полный цикл проходят так же, как в Chrome. (Opera/Яндекс — те же chrome-сборки.)
Результат
_____

⚠️ Подводные места (держать в голове по всем кейсам)

Назад к роудмапу