Тест-кейсы полей и переменных сделки¶
Источник: документация проекта мобильных автотестов, модуль
tests/test_deal_fields.py.
Актуализировано: 2026-07-27. Описано 27 вариантов
tests/test_deal_fields.py.
Общие предусловия¶
- Пользователь авторизован в мобильном приложении.
- На стенде доступна настроенная сделка
DEAL_FIELDS_DEAL_IDна этапеDEAL_FIELDS_STAGE. - API сделки возвращает обычные поля типов
text,number,list,date,flag,link,fileи активные переменные типовtext,number. - Текстовое поле имеет ограничение длины, числовое — нижнюю и верхнюю границы, список — ограничение количества выбранных значений.
- В сделке есть заполненное обязательное обычное текстовое поле.
- В сделке есть пустая активная обязательная текстовая переменная.
- В сделке есть пустое и заполненное файловые поля, принимающие PDF.
- Перед каждым сценарием API-helper получает ID, типы, ограничения и исходные значения полей. После сценария исходные значения восстанавливаются, а созданные автотестом backend-файлы удаляются.
TC-DF-001 — Сохранение поля этапа¶
Автотест:
test_stage_field_value_persists_after_reopen[text|number|list|date|flag|link].
- Открыть карточку тестовой сделки и вкладку «Этап».
- Открыть обычное поле заданного типа по его ID.
- Ввести другое допустимое значение и применить изменение.
- Вернуться к списку сделок и повторно открыть карточку.
- Проверить значение поля в карточке или в его редакторе.
Ожидаемый результат: после повторного открытия отображается сохранённое значение. Сценарий выполняется отдельно для текста, числа, списка, даты, флага и ссылки.
TC-DF-002 — Отмена изменения поля этапа¶
Автотест:
test_stage_field_edit_cancel_keeps_value[text|number|list|date|flag|link].
- Открыть обычное поле заданного типа.
- Задать другое допустимое значение.
- Нажать «Отмена».
- Повторно открыть карточку и проверить значение поля.
Ожидаемый результат: отображается исходное значение. Сценарий выполняется отдельно для текста, числа, списка, даты, флага и ссылки.
TC-DF-003 — Сохранение переменной этапа¶
Автотест:
test_stage_variable_value_persists_after_reopen[text|number].
- Раскрыть область обязательных действий этапа.
- Открыть редактирование переменной по её ID.
- Ввести другое допустимое значение.
- Записать результат и подтвердить изменение.
- Повторно открыть карточку.
Ожидаемый результат: переменная содержит подтверждённое значение. Сценарий выполняется отдельно для текста и числа.
TC-DF-004 — Отмена подтверждения переменной¶
Автотест:
test_stage_variable_edit_cancel_keeps_value[text|number].
- Открыть редактирование переменной.
- Ввести другое допустимое значение.
- Нажать «Записать результат».
- Отменить изменение в окне подтверждения.
- Повторно открыть карточку.
Ожидаемый результат: переменная содержит исходное значение. Сценарий выполняется отдельно для текста и числа.
TC-DF-005 — Максимальная длина текстового поля¶
Автотест: test_stage_text_field_accepts_maximum_length.
- Открыть текстовое поле с ограничением длины.
- Ввести значение, длина которого равна ограничению.
- Сохранить изменение и повторно открыть карточку.
Ожидаемый результат: граничное допустимое значение сохраняется полностью.
TC-DF-006 — Нижняя и верхняя числовые границы¶
Автотест: test_stage_number_field_enforces_boundary[lower|upper].
- Открыть числовое поле с нижней и верхней границами.
- Ввести ближайшее допустимое значение выбранной границы.
- Сохранить изменение и повторно открыть карточку.
- Ввести значение на запрещённой стороне той же границы.
- Подтвердить редактирование.
Ожидаемый результат: ближайшее допустимое значение сохраняется; для недопустимого значения редактор остаётся открытым, значение сделки в API не изменяется. Сценарий выполняется отдельно для нижней и верхней границ.
TC-DF-007 — Пустая обязательная переменная¶
Автотест: test_required_stage_variable_cannot_be_recorded_empty.
- Открыть пустую активную текстовую переменную.
- Не вводить значение.
Ожидаемый результат: кнопка записи результата недоступна, значение переменной не изменяется.
TC-DF-008 — Ограничение количества значений списка¶
Автотест: test_stage_list_field_respects_choice_limit.
- Открыть список, в котором уже выбрано максимально допустимое количество значений.
- Проверить подсказку с ограничением.
- Проверить ещё один невыбранный вариант.
Ожидаемый результат: дополнительный вариант недоступен для выбора, исходный список не изменяется.
TC-DF-009 — Превышение максимальной длины текста¶
Автотест: test_stage_text_field_rejects_value_above_maximum_length.
- Открыть текстовое поле с ограничением длины.
- Ввести значение длиной
max + 1. - Подтвердить редактирование.
- Повторно открыть карточку.
Ожидаемый результат: превышающее ограничение значение не сохраняется, после повторного открытия поле содержит исходное значение.
TC-DF-010 — Сохранение файлового поля¶
Автотест: test_stage_file_field_value_persists_after_reopen.
- Открыть пустое файловое поле.
- Выбрать PDF в системном файловом picker.
- Подтвердить редактирование.
- Повторно открыть карточку и редактор поля.
Ожидаемый результат: отображается имя загруженного файла; API поля содержит ID созданного файла.
TC-DF-011 — Отмена системного выбора файла¶
Автотест: test_stage_file_field_picker_cancel_keeps_value.
- Открыть пустое файловое поле.
- Открыть системный файловый picker.
- Вернуться в приложение без выбора файла.
Ожидаемый результат: редактор остаётся пустым, загрузка по-прежнему доступна, значение поля не изменяется.
TC-DF-012 — Отмена удаления существующего файла¶
Автотест: test_stage_file_field_edit_cancel_keeps_existing_file.
- Открыть заполненное файловое поле.
- Удалить файл только из редактора.
- Отменить редактирование.
- Повторно открыть карточку и поле.
Ожидаемый результат: исходный файл снова отображается и остаётся привязанным к полю.
TC-DF-013 — Пустое обязательное обычное поле¶
Автотест: test_required_stage_field_rejects_empty_value.
- Открыть заполненное обязательное текстовое поле этапа.
- Очистить значение.
- Подтвердить редактирование.
- Повторно открыть карточку.
Ожидаемый результат: пустое значение не сохраняется, поле содержит исходное значение.
TC-DF-014 — Замена существующего файла¶
Автотест: test_stage_file_field_replaces_existing_file.
- Открыть заполненное файловое поле.
- Удалить исходный файл из редактора.
- Выбрать новый PDF в системном файловом picker.
- Подтвердить редактирование и повторно открыть карточку.
Ожидаемый результат: поле содержит новый файл, исходный backend-файл не удалён, а созданный тестом файл удаляется после восстановления исходной привязки.
Следующий срез¶
После появления активной переменной-списка в стабильной тестовой сделке матрица
переменных расширяется типом list. Отдельными сценариями добавляются
просмотр файла, PNG и неподдерживаемый формат.