Тест-кейсы: чат¶
Источник: документация проекта мобильных автотестов, модуль
tests/test_chat.py.
Актуализировано: 2026-08-13. Описаны 17 сценариев текущего тестового модуля.
Основание: автотесты tests/test_chat.py, текущая документация покрытия в docs/.
Покрываемая область:
TC-9-001Открытие раздела «Чат»TC-9-002Переписка администратора и тестового пользователяTC-9-003Переписка двух тестовых пользователейTC-9-004Переписка в API-подготовленной группеTC-9-005Ответ на сообщение в личном чатеTC-9-006Редактирование своего сообщения в личном чатеTC-9-007Удаление своего сообщения в личном чатеTC-9-008Запрет отправки пустого сообщенияTC-9-009Открытие группового чата в приложении и переписка участниковTC-9-010Поиск группового чата в спискеTC-9-011Открытие группового чата с длинным названиемTC-9-012Создание и переименование группы в мобильном приложенииTC-9-013Выход участника из группового чатаTC-9-014Удаление группового чата создателемTC-9-015Получение и открытие вложений сообщенияTC-9-016Отправка PDF-вложения через интерфейс чатаTC-9-017Offline-сообщение отправляется после ручного retry
Общие предусловия:
- Установлено и запущено мобильное приложение или подготовлен мобильный тестовый стенд.
- Тестовые пользователи, роли и данные подготовлены согласно предусловиям конкретного кейса.
- Сценарий выполняется на актуальной сборке приложения и доступном тестовом сервере.
| № | Название | Предусловия | Запрос / шаги | Ожидаемый результат |
|---|---|---|---|---|
| TC-9-001 | Открытие раздела «Чат» | Автотест: test_chat_list_opens.Маркер: smoke.пользователь CHAT_TEST_USER_1_NAME авторизован на чат-стенде. |
1. Открыть вкладку «Чат» из нижнего меню. 2. Проверить основные элементы списка. |
1. Открывается список чатов. 2. Отображаются список чатов, поиск и меню действий. |
| TC-9-002 | Переписка администратора и тестового пользователя | Автотест: test_admin_and_user_1_exchange_direct_messages.Маркер: regression.подготовлен личный чат между администратором и CHAT_TEST_USER_1_NAME. |
1. Администратор открывает личный чат с тестовым пользователем. 2. Администратор отправляет уникальное сообщение. 3. CHAT_TEST_USER_1_NAME открывает этот чат.4. CHAT_TEST_USER_1_NAME отправляет ответ. |
1. Открывается экран переписки. 2. Сообщение отображается в чате и сохраняется на стенде. 3. Пользователь видит сообщение администратора. 4. Ответ отображается в чате и сохраняется на стенде. Постусловие: тестовые сообщения удаляются через API. |
| TC-9-003 | Переписка двух тестовых пользователей | Автотест: test_test_users_exchange_direct_messages.Маркер: regression.подготовлен личный чат между CHAT_TEST_USER_1_NAME и CHAT_TEST_USER_2_NAME. |
1. CHAT_TEST_USER_1_NAME открывает личный чат с CHAT_TEST_USER_2_NAME.2. CHAT_TEST_USER_1_NAME отправляет уникальное сообщение.3. CHAT_TEST_USER_2_NAME открывает этот чат.4. CHAT_TEST_USER_2_NAME отправляет ответ. |
1. Открывается экран переписки. 2. Сообщение отображается в чате и сохраняется на стенде. 3. Пользователь видит сообщение первого пользователя. 4. Ответ отображается в чате и сохраняется на стенде. Постусловие: тестовые сообщения удаляются через API. |
| TC-9-004 | Переписка в API-подготовленной группе | Автотест: test_test_users_exchange_messages_in_prepared_group_chat.Маркер: regression.через API создан тестовый групповой чат с CHAT_TEST_USER_1_NAME и CHAT_TEST_USER_2_NAME. |
1. CHAT_TEST_USER_1_NAME открывает тестовую группу.2. CHAT_TEST_USER_1_NAME отправляет сообщение.3. CHAT_TEST_USER_2_NAME открывает эту группу.4. CHAT_TEST_USER_2_NAME отправляет ответ. |
1. Группа отображается в списке и открывается. 2. Сообщение отображается и сохраняется на стенде. 3. Второй пользователь видит сообщение первого. 4. Ответ отображается и сохраняется на стенде. Постусловие: тестовые сообщения удаляются через API; тестовый групповой чат удаляется через API. |
| TC-9-005 | Ответ на сообщение в личном чате | Автотест: test_user_replies_to_direct_message.Маркер: regression.подготовлен личный чат между CHAT_TEST_USER_1_NAME и CHAT_TEST_USER_2_NAME. |
1. CHAT_TEST_USER_1_NAME отправляет уникальное сообщение в личный чат.2. CHAT_TEST_USER_2_NAME открывает меню этого сообщения.3. CHAT_TEST_USER_2_NAME отправляет reply-сообщение.4. CHAT_TEST_USER_1_NAME открывает этот чат. |
1. Сообщение отображается в чате и сохраняется на стенде. 2. Доступно действие ответа на сообщение. 3. Reply отображается в чате вместе с исходным сообщением. 4. Первый пользователь видит reply-сообщение и связанное исходное сообщение. Постусловие: тестовые сообщения удаляются через API. |
| TC-9-006 | Редактирование своего сообщения в личном чате | Автотест: test_user_edits_own_direct_message.Маркер: regression.подготовлен личный чат между CHAT_TEST_USER_1_NAME и CHAT_TEST_USER_2_NAME. |
1. CHAT_TEST_USER_1_NAME отправляет уникальное сообщение в личный чат.2. CHAT_TEST_USER_1_NAME открывает меню своего сообщения и выбирает редактирование.3. Изменить текст сообщения и сохранить. 4. CHAT_TEST_USER_2_NAME открывает этот чат. |
1. Сообщение отображается в чате и сохраняется на стенде. 2. Открывается режим редактирования сообщения. 3. В чате отображается обновлённый текст с признаком редактирования. 4. Второй пользователь видит обновлённое сообщение, исходный текст не отображается. Постусловие: тестовое сообщение удаляется через API. |
| TC-9-007 | Удаление своего сообщения в личном чате | Автотест: test_user_deletes_own_direct_message.Маркер: regression.подготовлен личный чат между CHAT_TEST_USER_1_NAME и CHAT_TEST_USER_2_NAME. |
1. CHAT_TEST_USER_1_NAME отправляет уникальное сообщение в личный чат.2. CHAT_TEST_USER_1_NAME открывает меню своего сообщения и выбирает удаление.3. Подтвердить удаление. 4. CHAT_TEST_USER_2_NAME открывает этот чат. |
1. Сообщение отображается в чате и сохраняется на стенде. 2. Открывается подтверждение удаления. 3. Исходный текст скрыт, в чате отображается состояние удалённого сообщения. 4. Второй пользователь видит состояние удалённого сообщения вместо исходного текста. |
| TC-9-008 | Запрет отправки пустого сообщения | Автотест: test_empty_chat_message_cannot_be_sent.Маркер: regression.подготовлен личный чат между CHAT_TEST_USER_1_NAME и CHAT_TEST_USER_2_NAME. |
1. Открыть тестовый чат. 2. Не вводить текст сообщения. |
1. Открывается экран переписки. 2. Кнопка отправки недоступна. |
| TC-9-009 | Открытие группового чата в приложении и переписка участников | Автотест: test_users_open_group_chat_in_mobile_app_and_exchange_messages.Маркер: regression.через API создан тестовый групповой чат для CHAT_TEST_USER_1_NAME иCHAT_TEST_USER_2_NAME. |
1. CHAT_TEST_USER_1_NAME открывает список чатов.2. Открыть подготовленный групповой чат. 3. CHAT_TEST_USER_1_NAME отправляет сообщение.4. CHAT_TEST_USER_2_NAME открывает этот групповой чат.5. CHAT_TEST_USER_2_NAME отправляет ответ. |
1. Подготовленный групповой чат отображается в списке. 2. Открывается экран группового чата. 3. Сообщение отображается и сохраняется на стенде. 4. Второй пользователь видит сообщение первого. 5. Ответ отображается и сохраняется на стенде. Постусловие: тестовые сообщения удаляются через API; созданный групповой чат удаляется через API. |
| TC-9-010 | Поиск группового чата в списке | Автотест: test_user_searches_group_chat_in_list.Маркер: regression.через API создан тестовый групповой чат для CHAT_TEST_USER_1_NAME. |
1. CHAT_TEST_USER_1_NAME открывает список чатов.2. Ввести название тестовой группы в поиск. 3. Открыть найденный чат. |
1. Открывается список чатов. 2. Подготовленный групповой чат отображается в результатах поиска. 3. Открывается экран группового чата. Постусловие: тестовый групповой чат удаляется через API. |
| TC-9-011 | Открытие группового чата с длинным названием | Автотест: test_group_chat_with_long_name_opens.Маркер: regression.через API создан тестовый групповой чат с длинным названием. |
1. CHAT_TEST_USER_1_NAME открывает список чатов.2. Найти и открыть групповой чат с длинным названием. |
1. Чат с длинным названием отображается в списке без блокирующих проблем верстки. 2. Открывается экран группового чата, доступно поле ввода сообщения. Постусловие: тестовый групповой чат удаляется через API. |
| TC-9-012 | Создание и переименование группы в мобильном приложении | Автотест: test_user_creates_group_chat_in_mobile_app_and_renames_it.Маркер: regression.CHAT_TEST_USER_1_NAME авторизован на чат-стенде, доступен CHAT_TEST_USER_2_NAME. |
1. CHAT_TEST_USER_1_NAME открывает форму создания группового чата.2. Ввести название группы и выбрать CHAT_TEST_USER_2_NAME.3. Создать группу. 4. Открыть просмотр группы и перейти в режим редактирования. 5. Изменить название группы и сохранить. |
1. Открывается форма создания группы. 2. Участник выбран, кнопка создания доступна. 3. Создаётся групповой чат и открывается экран переписки. 4. Открывается режим редактирования группы. 5. Новое название сохраняется и группа находится в списке по обновлённому названию. Постусловие: созданный групповой чат удаляется через API. |
| TC-9-013 | Выход участника из группового чата | Автотест: test_user_leaves_group_chat_in_mobile_app.Маркер: regression.через API создан тестовый групповой чат с участником CHAT_TEST_USER_2_NAME. |
1. CHAT_TEST_USER_2_NAME открывает тестовый групповой чат.2. Открыть меню чата и выбрать выход из группы. 3. Подтвердить выход. |
1. Открывается экран группового чата. 2. Открывается подтверждение выхода из группы. 3. Пользователь возвращается к списку чатов, группа больше не отображается для этого пользователя. Постусловие: тестовый групповой чат удаляется через API. |
| TC-9-014 | Удаление группового чата создателем | Автотест: test_creator_deletes_group_chat_in_mobile_app.Маркер: regression.через API создан тестовый групповой чат, текущий пользователь является создателем. |
1. Создатель открывает тестовый групповой чат. 2. Открыть меню чата и выбрать удаление группы. 3. Подтвердить удаление. |
1. Открывается экран группового чата. 2. Открывается подтверждение удаления группы. 3. Пользователь возвращается к списку чатов, группа больше не отображается. |
| TC-9-015 | Получение и открытие вложений сообщения | Автотест: test_user_receives_and_opens_message_attachments.Маркер: regression.через API создан тестовый групповой чат, подготовлены PDF-документ и PNG-изображение. |
1. CHAT_TEST_USER_1_NAME отправляет сообщение с PDF- и PNG-вложениями.2. CHAT_TEST_USER_2_NAME открывает этот групповой чат.3. Проверить отображение сообщения и вложений. 4. Открыть каждое вложение. |
1. Сообщение с вложениями сохраняется на стенде. 2. Получатель открывает экран группового чата. 3. В чате отображаются текст сообщения, документ и изображение. 4. Вложения открываются из сообщения, после возврата чат остаётся доступен. Постусловие: тестовое сообщение и вложения удаляются через API; тестовый групповой чат удаляется через API. |
| TC-9-016 | Отправка PDF-вложения через интерфейс чата | Автотест: test_user_sends_pdf_attachment_from_chat_ui.Маркер: regression.доступен личный чат двух тестовых пользователей, подготовлен PDF-файл. |
1. Первый пользователь открывает личный чат. 2. Открыть меню вложений и выбрать файл. 3. В системном окне выбрать подготовленный PDF. 4. Отправить сообщение с текстом и вложением. 5. Второй пользователь открывает личный чат и проверяет сообщение. |
1. Открывается экран личного чата. 2. Доступно действие выбора файла. 3. Имя выбранного PDF отображается перед отправкой. 4. Сообщение сохраняется с вложением. 5. Получатель видит текст сообщения и PDF-вложение. Постусловие: тестовое сообщение и созданный файл удаляются через API. |
| TC-9-017 | Offline-сообщение отправляется после ручного retry | Автотест: test_offline_chat_message_is_sent_after_retry.Маркер: regression.- Через API создан уникальный групповой чат. - Эмулятор поддерживает ADB root для управляемого firewall chat-стенда. |
1. Открыть подготовленный чат. 2. Заблокировать доступ к chat-стенду и отправить уникальный текст. 3. Дождаться состояния ошибки сообщения. 4. Восстановить сеть и выбрать «Повторить отправку». 5. Проверить сообщение в API и UI. |
1. Offline-сообщение остаётся в чате с доступным retry. 2. После ручного retry создаётся ровно доставляемое серверное сообщение. 3. Сообщение отображается в UI и удаляется в cleanup. |