Перейти к содержанию
BusinessPad QA

Тест-кейсы полей и переменных сделки

Источник: документация проекта мобильных автотестов, модуль 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].

  1. Открыть карточку тестовой сделки и вкладку «Этап».
  2. Открыть обычное поле заданного типа по его ID.
  3. Ввести другое допустимое значение и применить изменение.
  4. Вернуться к списку сделок и повторно открыть карточку.
  5. Проверить значение поля в карточке или в его редакторе.

Ожидаемый результат: после повторного открытия отображается сохранённое значение. Сценарий выполняется отдельно для текста, числа, списка, даты, флага и ссылки.

TC-DF-002 — Отмена изменения поля этапа

Автотест: test_stage_field_edit_cancel_keeps_value[text|number|list|date|flag|link].

  1. Открыть обычное поле заданного типа.
  2. Задать другое допустимое значение.
  3. Нажать «Отмена».
  4. Повторно открыть карточку и проверить значение поля.

Ожидаемый результат: отображается исходное значение. Сценарий выполняется отдельно для текста, числа, списка, даты, флага и ссылки.

TC-DF-003 — Сохранение переменной этапа

Автотест: test_stage_variable_value_persists_after_reopen[text|number].

  1. Раскрыть область обязательных действий этапа.
  2. Открыть редактирование переменной по её ID.
  3. Ввести другое допустимое значение.
  4. Записать результат и подтвердить изменение.
  5. Повторно открыть карточку.

Ожидаемый результат: переменная содержит подтверждённое значение. Сценарий выполняется отдельно для текста и числа.

TC-DF-004 — Отмена подтверждения переменной

Автотест: test_stage_variable_edit_cancel_keeps_value[text|number].

  1. Открыть редактирование переменной.
  2. Ввести другое допустимое значение.
  3. Нажать «Записать результат».
  4. Отменить изменение в окне подтверждения.
  5. Повторно открыть карточку.

Ожидаемый результат: переменная содержит исходное значение. Сценарий выполняется отдельно для текста и числа.

TC-DF-005 — Максимальная длина текстового поля

Автотест: test_stage_text_field_accepts_maximum_length.

  1. Открыть текстовое поле с ограничением длины.
  2. Ввести значение, длина которого равна ограничению.
  3. Сохранить изменение и повторно открыть карточку.

Ожидаемый результат: граничное допустимое значение сохраняется полностью.

TC-DF-006 — Нижняя и верхняя числовые границы

Автотест: test_stage_number_field_enforces_boundary[lower|upper].

  1. Открыть числовое поле с нижней и верхней границами.
  2. Ввести ближайшее допустимое значение выбранной границы.
  3. Сохранить изменение и повторно открыть карточку.
  4. Ввести значение на запрещённой стороне той же границы.
  5. Подтвердить редактирование.

Ожидаемый результат: ближайшее допустимое значение сохраняется; для недопустимого значения редактор остаётся открытым, значение сделки в API не изменяется. Сценарий выполняется отдельно для нижней и верхней границ.

TC-DF-007 — Пустая обязательная переменная

Автотест: test_required_stage_variable_cannot_be_recorded_empty.

  1. Открыть пустую активную текстовую переменную.
  2. Не вводить значение.

Ожидаемый результат: кнопка записи результата недоступна, значение переменной не изменяется.

TC-DF-008 — Ограничение количества значений списка

Автотест: test_stage_list_field_respects_choice_limit.

  1. Открыть список, в котором уже выбрано максимально допустимое количество значений.
  2. Проверить подсказку с ограничением.
  3. Проверить ещё один невыбранный вариант.

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

TC-DF-009 — Превышение максимальной длины текста

Автотест: test_stage_text_field_rejects_value_above_maximum_length.

  1. Открыть текстовое поле с ограничением длины.
  2. Ввести значение длиной max + 1.
  3. Подтвердить редактирование.
  4. Повторно открыть карточку.

Ожидаемый результат: превышающее ограничение значение не сохраняется, после повторного открытия поле содержит исходное значение.

TC-DF-010 — Сохранение файлового поля

Автотест: test_stage_file_field_value_persists_after_reopen.

  1. Открыть пустое файловое поле.
  2. Выбрать PDF в системном файловом picker.
  3. Подтвердить редактирование.
  4. Повторно открыть карточку и редактор поля.

Ожидаемый результат: отображается имя загруженного файла; API поля содержит ID созданного файла.

TC-DF-011 — Отмена системного выбора файла

Автотест: test_stage_file_field_picker_cancel_keeps_value.

  1. Открыть пустое файловое поле.
  2. Открыть системный файловый picker.
  3. Вернуться в приложение без выбора файла.

Ожидаемый результат: редактор остаётся пустым, загрузка по-прежнему доступна, значение поля не изменяется.

TC-DF-012 — Отмена удаления существующего файла

Автотест: test_stage_file_field_edit_cancel_keeps_existing_file.

  1. Открыть заполненное файловое поле.
  2. Удалить файл только из редактора.
  3. Отменить редактирование.
  4. Повторно открыть карточку и поле.

Ожидаемый результат: исходный файл снова отображается и остаётся привязанным к полю.

TC-DF-013 — Пустое обязательное обычное поле

Автотест: test_required_stage_field_rejects_empty_value.

  1. Открыть заполненное обязательное текстовое поле этапа.
  2. Очистить значение.
  3. Подтвердить редактирование.
  4. Повторно открыть карточку.

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

TC-DF-014 — Замена существующего файла

Автотест: test_stage_file_field_replaces_existing_file.

  1. Открыть заполненное файловое поле.
  2. Удалить исходный файл из редактора.
  3. Выбрать новый PDF в системном файловом picker.
  4. Подтвердить редактирование и повторно открыть карточку.

Ожидаемый результат: поле содержит новый файл, исходный backend-файл не удалён, а созданный тестом файл удаляется после восстановления исходной привязки.

Следующий срез

После появления активной переменной-списка в стабильной тестовой сделке матрица переменных расширяется типом list. Отдельными сценариями добавляются просмотр файла, PNG и неподдерживаемый формат.