Тестирование подарочных кодов¶
Эта методичка помогает тестеру или оператору проверить подарочные коды без профессиональных тестовых навыков. Идите по шагам и отмечайте результат: получилось, не получилось, что именно увидели на экране.
Главное правило: любой подарочный код должен быть оплачен до использования. По умолчанию вся партия оплачивается одним переводом на общий адрес. Отдельный депозитный кошелёк для каждого кода создаётся только при явном включении этой опции в форме.
Реальную оплату проверяйте только на production по согласованному тестовому платежу. Локально и на тестовом стенде можно проверить форму, адрес и ошибки, но реальная оплата там не завершит flow: подтверждение оплаты работает только на production.
Что проверяем¶
- Администратор может создать подарочные коды.
- В стандартном режиме для партии появляется один общий адрес оплаты.
- При включённой опции число отдельных кошельков совпадает с числом кодов.
- До оплаты код нельзя использовать.
- После оплаты код можно увидеть и скопировать.
- Пользователь может проверить код перед активацией.
- После активации сумма зачисляется пользователю.
- Неверный, уже использованный или чужой код показывает понятную ошибку.
Что подготовить¶
- Доступ администратора к
admin.saga.surf. - Доступ обычного пользователя к
app.saga.surf. - Тестовый email пользователя.
- Тестовую сумму, например
$100.
Для проверки оплаты дополнительно подготовьте:
- согласование, что проверка идёт на production;
- тестовую сумму и сеть оплаты, например
USDT · TronилиUSDC · Ethereum; - кошелёк, с которого можно отправить ровно согласованную сумму;
- контакт администратора или оператора, который подтвердит, что тестовый платёж допустим.
Не используйте реальные клиентские email и реальные промо-коды для черновой проверки.
Не отправляйте оплату на локальный или тестовый адрес. Такой платёж не проверяет production-подтверждение и может не открыть доступ к коду.
Сценарий 1. Создать партию и выбрать режим оплаты¶
- Откройте административную панель.
- Перейдите в раздел
Кампании. - Нажмите
Создать партию. - Заполните название, количество кодов и сумму на один код.
- Выберите токен и сеть оплаты.
- Выберите режим. Оставьте
Создать отдельный депозитный кошелёк для каждого кодавыключенным, чтобы оплатить всю партию одним переводом. Включите опцию, только если каждому коду нужен свой кошелёк, который после активации будет привязан к получателю. - Проверьте итоговую сумму и режим оплаты в подсказке.
- Нажмите
Создать.

Общий адрес — режим по умолчанию¶
Оставьте опцию отдельных кошельков выключенной. Для партии из нескольких кодов система покажет один адрес и общую сумму сумма на код × количество кодов.

Отдельный кошелёк для каждого кода¶
Включите опцию отдельных кошельков. Система покажет по одному адресу на каждый код; сумма возле каждого адреса равна сумме одного кода.

Ожидаемый результат:
- При выключенной опции показан один общий адрес на полную сумму партии.
- При включённой опции показано столько отдельных кошельков, сколько создано кодов.
- Результат создания явно называет выбранный режим.
- В строке партии виден статус
Ожидает оплату. - До оплаты пользователь не может активировать код.
Сценарий 2. Оплатить партию на production¶
Этот сценарий проверяет самый важный поток: администратор создаёт партию, тестер оплачивает указанные адреса, а система разрешает использовать коды после подтверждения оплаты. Выполняйте его только на production и только по согласованной тестовой сумме.
Общий адрес — режим по умолчанию¶
- Перед оплатой ещё раз проверьте, что открыта production-панель, а не local, test или stage.
- Скопируйте адрес оплаты из модального окна после создания или откройте
Коды и оплатав строке партии. - Сверьте общую сумму: сумма одного кода должна быть умножена на количество кодов.
- Отправьте полную сумму одним переводом в выбранной сети.
- Вернитесь в список подарочных кодов и дождитесь обновления строки.
- Когда статус строки партии станет
Оплачено, можно переходить к просмотру кодов.
Отдельные кошельки¶
- Перед оплатой ещё раз проверьте, что открыта production-панель, а не local, test или stage.
- Откройте оплату партии и убедитесь, что для каждого кода показан отдельный адрес.
- Чтобы проверить частичную оплату, сначала оплатите один адрес: прогресс должен увеличиться, но вся партия ещё не должна открыться.
- Вернитесь в список подарочных кодов и дождитесь обновления строки.
- Оплатите той же суммой каждый оставшийся адрес партии.
- Проверьте прогресс: он должен увеличиваться отдельно для каждого оплаченного кошелька.
- После оплаты всех кошельков переходите к просмотру кодов.
Ожидаемый результат:
- После достаточной оплаты статус строки партии меняется на
Оплачено. Переплатапоказывается в деталях конкретного адреса, если на него поступило больше ожидаемой суммы.- При общем адресе один достаточный платёж открывает всю партию.
- При отдельных кошельках каждый платёж учитывается только для своего кода; прогресс партии показывает количество оплаченных кошельков.
- Если на адрес поступила сумма меньше ожидаемой, он остаётся в состоянии
Недоплата. - Только после достаточной оплаты коды становятся доступными для проверки и активации пользователем.
Что записать для этой проверки:
- выбранный токен и сеть;
- режим оплаты;
- ожидаемую общую сумму или сумму каждого кода;
- общий адрес либо адрес каждого проверяемого кода;
- tx hash каждого платежа;
- статус строки после оплаты.
Сценарий 3. Найти и скопировать оплаченный код¶
- В таблице кампаний найдите оплаченную партию.
- Нажмите
Коды и оплата. - Найдите активный код.
- Скопируйте его действием
Кодили черезЭкспорт CSV.

Ожидаемый результат:
- В окне виден код, статус и привязанный email, если он задан.
- Активный код ещё не использован.
- Использованный код показывает, кем и когда он был активирован.
Сценарий 4. Проверить код как пользователь¶
- Откройте пользовательское приложение.
- Войдите под тестовым пользователем.
- Откройте профиль.
- Введите подарочный код.
- Нажмите
Проверить. - Сверьте сумму.
- Если сумма верная, нажмите
Активировать. - После активации проверьте, что сумма появилась как инвестиция.

Ожидаемый результат:
- После проверки видно сообщение
Код действителен. - Пользователь видит сумму до активации.
- После активации появляется сообщение об успешном зачислении.
- Код очищается из поля ввода.
- В пользовательских данных появилась инвестиция на сумму кода.
Сценарий 5. Проверить ссылку с кодом¶
Передайте пользователю ссылку такого вида:
Ожидаемый результат:
- Страница профиля открывается.
- Поле подарочного кода уже заполнено.
- Пользователь всё равно нажимает
Проверить, чтобы увидеть сумму до активации.
Сценарий 6. Проверить ошибки¶
Проверьте эти случаи отдельно:
| Случай | Что сделать | Ожидаемый результат |
|---|---|---|
| Неверный код | Ввести случайный код | Сообщение, что код недействителен или уже использован |
| Повторная активация | После успешной активации снова вставить тот же код и нажать Проверить |
Сообщение, что код недействителен или уже использован |
| Чужой email | Создать код с email получателя, затем войти под другим email и проверить этот код | Сообщение, что код привязан к другому email |
| Пустое поле | Не вводить код | Кнопка проверки недоступна или ничего не происходит |
Когда считать проверку успешной¶
Проверка успешна, если:
- администратор создал партию;
- без дополнительной опции партия получила один общий адрес;
- с включённой опцией партия получила отдельный кошелёк для каждого кода;
- активный код виден в деталях партии;
- пользователь увидел сумму до активации;
- активация прошла один раз;
- сумма после активации видна в инвестициях;
- коды на production стали доступными только после достаточной оплаты выбранного режима;
- повторное использование не прошло;
- ошибки понятны обычному пользователю.
Если любой пункт не совпал, не пытайтесь повторять действия много раз подряд. Запишите, на каком шаге возникла проблема, и передайте это разработчику или оператору.