Skip to content

Instantly share code, notes, and snippets.

@sergey-kras
Last active December 12, 2019 11:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sergey-kras/4f10d4f18b2719f44fb0fe98ac179b21 to your computer and use it in GitHub Desktop.
Save sergey-kras/4f10d4f18b2719f44fb0fe98ac179b21 to your computer and use it in GitHub Desktop.
Чек-лист тестирования сценариев для переотправки сделки

Экшен поллинга баланса

Один на все приложение, может вызываться из разных мест.

  • Работает по принципу синглтона. Если полинг уже вызван - то запустить такой же поллинг не получится.
  • Пока не закончен предыдущий запрос в полинге (getBalance), новый вызываться не будет. Плюс есть задержка перед новым запросом в 3сек.
  • Поллинг запускается, не трогая, флаг isLoading в стейте баланса, что избавляет от бага "мигания" (смена лоадера на контент) на странице баланса.
  • Если поллинг отработал свои 20 запросов - то при повторном его вызове он снова запустится.
  • Если баланс сделок становится > 0 - то поллинг останавливается.

Полинг на странице сделки

Если статус сделки "WaitingServicePayment"

  • То запускается поллинг баланса.
  • Под статусом появляется предупреждение.

Баланс сделок становится > 0

  • Останавливается поллинг.
  • В UI статут сделки меняется на "ReadyToSend".
  • Пропадает предупреждение.
  • Появляется кнопки для переотправки.

При клике на кнопку переотправки, если отправка удалась

  • Статус меняется на "Sending".
  • Пропадает предупреждение под статусом.
  • Пропадает Кнопка переотправки.

При клике на кнопку переотправки, если отправка не удалась

  • Появляются надпись ошибки "Что-то пошло не так" рядом с кнопками

Полинг на странице списка сделок

Если в списке сделок появился хотя бы один драфт со статусом "WaitingServicePayment"

  • Запускается поллинг.

При поллинге баланс сделок стал >0

  • Остановка поллинга.
  • Все драфты со статусом "WaitingServicePayment" становятся "ReadyToSend".
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment