codebattle
codebattle copied to clipboard
Feature: Rematch game with the same task (game with bot)
Summary
При матч-реванше после проигрыша игры боту открывается задача, не соответствующая ранее выбранной
Reproduction steps
1. Авторизоваться "https://codebattle.hexlet.io/session/new?locale=en&next=%2F"
2. Нажать кнопку "CREATE A GAME"
3. Во всплывающем окне выбрать "Game Type" = "With a bot"
4. Во всплывающем списке формы "Choose task by name or tags" выбрать конкретную задачу
5. Нажать кнопку "Create battle"
6. Нажать кнопку "Give Up"
7. Во всплывающем окне нажать кнопку "Give Up"
8. Во всплывающем окне нажать кнопку "I'll be back"
10. Нажать кнопку "Rematch"
11. Сравнить текущую задачу с предыдущей
Expected result
Задачи совпадают
Actual result
Задачи не совпадают
Current version
c9988e0
Browsers
Chrome Версия 119.0.6045.123 (Официальная сборка), (arm64)
OS
Mac
Давай в отдельную фичу завернем. Рематч изначально никогда не предполагал повторение того же задания. Сделаем такой рематч для игр с ботами. С реальными людьми такая механика, в условиях соревнования, не имеет смысла
Summary После окончания игры можно сыграть ее же заново, нажав на кнопку 'rematch'. Но открывается совсем другая игра
Test data
- Игрок 1 - Email: [email protected], Password: 111111, имя игрока: zaq
- Игрок 2 - Email: [email protected]], Password: 111111, имя игрока zaq1
- Код для вставки в игру - “return width * length;”
Reproduction steps
- Авторизоваться в игре с данными игрока 1
- Нажать кнопку ‘Create a game’
- Нажать кнопку ‘With another player’
- В разделе ‘Choose task by name or tags’ выбрать задание ‘rect_area’ из списка
- Нажать кнопку ‘Create battle’
- В другом браузере авторизоваться с данными игрока 2
- В таблице в Lobby нажать кнопку 'Figth' в строке с именем игрока zaq
- Вернуться на страницу игрока 1
- Ввести код без кавычек в соответствующее поле в редакторе кода
- Закрыть модальное окно с сообщением о выигрыше, нажав на крестик в правом верхнем углу
- Нажать кнопку ‘Rematch’
- Открыть страницу игрока 2
- Закрыть модальное окно с сообщением о проигрыше
- Около кнопки ‘Rematch’ нажать галочку
Expected result Игра началась заново, такая же, как была предыдущая
Actual result Открылась совсем другая игра у обоих игроков
Environment: Google Chrome Версия 124.0.6367.201 (Официальная сборка), (64 бит) Opera One(версия: 109.0.5097.80) OS: Windows 10 Корпоративная Current version: 8c1c27c
https://github.com/hexlet-codebattle/codebattle/assets/151373511/cada26ef-8ec9-4e43-aae4-031fd101d2cf
Rematch изменяет выбранную задачу
requirement: После победы/поражения пользователь может сделать Rematch prerequisites: Пользователь авторизован, создана игра с ботом test-data: | No data environment: | Google Chrome 126.0.6478.127 (Официальная сборка) (64 бит) ОС Windows 11 steps:
- Завершить созданную игру поражением/победой
- Нажать кнопку «Rematch»
expected-result: |
Должна быть создана новая игра с теми же настройками и противником
actual-result: |
Создана новая игра с другой задачей
Summary
Using "Rematch" creates a new game with new task, instead of restarting selected task.
Environment
- Yandex Browser: Version 25.2.4.955 (64-bit)
- OS Windows 10: Version 22H2 19045.5608
- Codebattle version: 9425fb5
Prerequisites:
- User is authorised
- User created a game with bot
Steps to reproduce:
- Use "Give up" button
- Confirm that you want to give up
- Click "I'll be back" button
- Click "Rematch" button
Expected result:
Game will be restarted with the selected task
Actual resul:
New game started with new task
Screenshots
- Game created by user
- Game created after using "Rematch"
Summary: Rematch cannot be used after the timer has expired.
Environment:
- Browser Opera GX: 121.0.5600.81
- System:Windows 10 64-bit
- Chromium version:137.0.7151.122
- Current version: 68f356b
- deployedAt UTC: 2025-08-12 06:21:18
Prerequisites:
- User is authorised
- The user created a game upon invitation
Steps to reproduce:
- Wait until the timer runs out
- Click "Rematch" button
Expected result: Game will be restarted with the selected task
Actual resul: The website returned an error.
Screenshots After pressing the "Rematch" button