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