Роудмап / План тестирования / Ивенты
Обновлено: 28 мая

План тестирования — Ивенты

Тематические события в кейсах — поинты за выпадения, баннер на главной кейсов, лидерборд, призовые места. В коде есть, в проде сейчас не запущено.

Стартовое состояние. В базе сейчас 0 ивентов (ни активных, ни прошедших). Чтобы вообще тестировать раздел — мне сначала надо создать в админке тестовый ивент: задать сроки, привязать пул кейсов, настроить начисление поинтов, задать призовые места. Только после этого начнётся реальный прогон.

Тестовые юзеры

Сценарии

adminне прогонял

0 (подготовка). Создание тестового ивента в админке

  1. Filament → CaseEvents → New.
  2. Название «Брат-тест ивент», даты — сегодня и +3 дня.
  3. Привязываю 3 активных кейса. Настраиваю — за каждое открытие любого из них +1 поинт.
  4. Задаю призовые места: 1 место — 1000₽, 2-3 — по 500₽, 4-10 — по 100₽.
  5. Активирую ивент.
Что проверяю: ивент появляется в БД, баннер появляется на /cases, поля валидируются, нельзя задать невалидные даты.
Скрины: экран создания, экран /cases с баннером.
brat-test-ev-user1..5не прогонял

1. Каждый юзер открывает разное количество кейсов из пула

  1. user1: открывает 10 кейсов → должно быть 10 поинтов.
  2. user2: открывает 7 кейсов.
  3. user3: 5 кейсов.
  4. user4: 2 кейса.
  5. user5: 1 кейс.
Что проверяю: поинты в case_event_points начисляются ровно по количеству открытий, не дублируются, не теряются.
Скрины: состояние case_event_points в админке после прогона.
brat-test-ev-user1не прогонял

2. Лидерборд — публичный экран, актуальные позиции

  1. После прогона сценария 1 открываю экран лидерборда.
  2. Проверяю что юзеры идут в правильном порядке: user1 (10) — user2 (7) — user3 (5) — user4 (2) — user5 (1).
  3. Каждый видит свою позицию выделенной.
Что проверяю: сортировка корректна, видна моя позиция, отображаются призовые места (1000₽ за 1 место и т.д.).
Скрины: лидерборд глазами user1 (он же 1 место), глазами user5 (10 место — но призовое).
admin → user1не прогонял

3. Завершение ивента и начисление призов

  1. В админке принудительно завершаю ивент (или подменяю end_at на «час назад»).
  2. Запускаю команду завершения ивента (если есть) или жду крон-задачу.
  3. Проверяю что призы начислились: user1 → +1000₽ на основной, user2-3 → +500₽, user4-5 → +100₽.
Что проверяю: в transactions появляются записи с правильным reference на ивент, балансы юзеров изменились на нужные суммы, повторное начисление не происходит.
Скрины: баланс user1 до и после, transactions с пометкой «приз ивента».
brat-test-ev-user6 (новый, поздно зашёл)не прогонял

4. Поздно вступивший — успевает попасть в призы за оставшиеся часы

  1. Создаю user6 в последние сутки ивента.
  2. Открываю 20 кейсов залпом → +20 поинтов, должен обогнать user1 (10).
Что проверяю: ивент позволяет новым участникам вступить в любой момент, поинты начисляются с того момента когда они начали открывать.
Скрины: лидерборд после, позиция user6 первая.
brat-test-ev-user1не прогонял

5. Открытие кейса вне пула ивента — поинты НЕ начисляются

  1. Открываю кейс, который не привязан к ивенту.
  2. Проверяю что в case_event_points не появилась новая запись.
Что проверяю: привязка ивента к конкретным кейсам соблюдается, не «всё подряд за поинт».
Скрины: открытие чужого кейса + screenshot БД до/после.

Что нужно от тебя по этому разделу

Назад к общему плану