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

Действия с ЭБП

Матрица трассировки

Матрица показывает, какие тест-кейсы проверяют требования по действиям с ЭБП.

Требование / раздел Описание Тест-кейсы
1.1 Типы ЭБП: сделка, задача, финансовая операция, товарный поток как целевая сущность Копирование: 1, 2, 3, 11, 12; Текущие ограничения: 1
1.2 - 1.3 Справочники и связи между ЭБП и справочниками Копирование: 6, 7, 8; Текущие ограничения: 2, 8
3.1 Копирование ЭБП с новым ID, статусом Черновик и без архива Копирование: 1, 2, 3
3.1.1 Копирование родительского ЭБП Копирование: 1, 9, 10, 11
3.1.2 Копирование вложенного ЭБП внутри того же родителя Копирование: 4, 5
3.1.3 / 7 Запрещенные действия при копировании Копирование: 7, 8
3.2 Архивирование ЭБП Архив/восстановление/удаление: 1, 2, 8, 9; Текущие ограничения: 4
3.3 Восстановление из архива Архив/восстановление/удаление: 3, 10, 11; Текущие ограничения: 5
3.4 Удаление из архива Архив/восстановление/удаление: 4, 5, 6, 7, 12, 13, 14; Текущие ограничения: 6, 7, 8
4 Специфичные правила для товарных потоков Копирование: 11, 12; Текущие ограничения: 1
5.1 Настройки копирования Настройки действий: 2, 3, 10, 11
5.2 Настройки архивирования Настройки действий: 4, 5, 10, 11
5.3 Настройки восстановления Настройки действий: 6, 7, 10, 11
5.4 Настройки удаления из архива Настройки действий: 8, 9, 10, 11
9 Технический долг и текущие ограничения Текущие ограничения: 1, 2, 3, 4, 5, 6, 7, 8

Покрытие по блокам

Блок Диапазон тест-кейсов Назначение
Копирование 1 - 12 Проверка копирования самостоятельных и вложенных ЭБП, запретов и целевых каскадных сценариев
Архивирование, восстановление, удаление 1 - 14 Проверка архивного статуса, read-only режима, восстановления, удаления и блокировок
Настройки действий 1 - 11 Проверка системных настроек действий для типов ЭБП
Текущие ограничения 1 - 8 Проверка нереализованных возможностей и текущего поведения системы

Тест-кейсы: настройки действий с ЭБП

Основание: раздел 5. Настройки для каждого действия, макет Действие с ЭБП.

Общие предусловия

  1. Пользователь авторизован под администратором или пользователем с правом настройки действий.
  2. Открыт раздел системных настроек действий с ЭБП.
  3. В настройках доступны типы ЭБП Сделка, Задача, Финансовая операция.
Название Предусловия Шаги Ожидаемый результат
1 Просмотр настроек действий по типам ЭБП Выполнены общие предусловия. 1. Открыть настройки действий с ЭБП.
2. Проверить список типов ЭБП.
1. Отображаются типы Сделка, Задача, Финансовая операция.
2. Для каждого типа можно открыть настройки действий.
2 Просмотр настроек копирования Открыты настройки типа ЭБП. 1. Открыть блок Копирование.
2. Проверить доступные параметры.
1. Отображаются параметры copy_children_whitelist, copy_children_depth, copy_variable_links, если они реализованы.
2. Значения по умолчанию соответствуют ТЗ: whitelist = все включены, depth = deep, copy_variable_links = true.
3 Сохранение настроек копирования Параметры каскадного копирования реализованы. 1. Изменить глубину копирования.
2. Изменить whitelist типов дочерних ЭБП.
3. Сохранить настройки.
4. Повторно открыть настройки.
1. Изменения сохраняются.
2. После повторного открытия отображаются актуальные значения.
4 Просмотр настроек архивирования Открыты настройки типа ЭБП. 1. Открыть блок Архивирование.
2. Проверить доступные параметры.
1. Отображаются параметры archive_children_whitelist, archive_children_depth, archive_linked, если они реализованы.
2. Значения по умолчанию соответствуют ТЗ: whitelist = все включены, depth = deep, archive_linked = false.
5 Сохранение настроек архивирования Параметры каскадного архивирования реализованы. 1. Изменить глубину архивирования.
2. Изменить whitelist типов дочерних ЭБП.
3. Изменить флаг archive_linked.
4. Сохранить настройки.
5. Повторно открыть настройки.
1. Изменения сохраняются.
2. После повторного открытия отображаются актуальные значения.
6 Просмотр настроек восстановления Открыты настройки типа ЭБП. 1. Открыть блок Восстановление.
2. Проверить доступные параметры.
1. Отображаются параметры restore_children_enabled, restore_children_depth, auto_restore_linked, если они реализованы.
2. Значения по умолчанию соответствуют ТЗ: restore_children_enabled = false, depth = deep, auto_restore_linked = false.
7 Сохранение настроек восстановления Параметры каскадного восстановления реализованы. 1. Включить restore_children_enabled.
2. Изменить глубину восстановления.
3. Изменить флаг auto_restore_linked.
4. Сохранить настройки.
5. Повторно открыть настройки.
1. Изменения сохраняются.
2. После повторного открытия отображаются актуальные значения.
8 Просмотр настроек удаления из архива Открыты настройки типа ЭБП. 1. Открыть блок Удаление из архива.
2. Проверить доступные параметры.
1. Отображаются параметры allow_delete_with_soft_links, cascade_delete_children, если они реализованы.
2. Значения по умолчанию соответствуют ТЗ: allow_delete_with_soft_links = true, cascade_delete_children = none.
9 Сохранение настроек удаления из архива Параметры каскадного удаления реализованы. 1. Изменить allow_delete_with_soft_links.
2. Изменить cascade_delete_children.
3. Сохранить настройки.
4. Повторно открыть настройки.
1. Изменения сохраняются.
2. После повторного открытия отображаются актуальные значения.
10 Отключенные настройки каскада в текущей версии Текущая версия системы не поддерживает каскадные настройки. 1. Открыть настройки действий с ЭБП.
2. Проверить параметры каскада.
1. Параметры каскада скрыты, отключены или отсутствуют.
2. Пользователь не может настроить временно отключенные параметры.
3. UI не создает ожидания, что каскадные действия работают.
11 Настройки применяются отдельно для каждого типа ЭБП Настройки действий реализованы. 1. Изменить настройку для типа Сделка.
2. Открыть настройки типа Задача.
3. Открыть настройки типа Финансовая операция.
1. Изменение настройки сделки не меняет настройки задачи и финансовой операции.
2. Для каждого типа ЭБП настройки хранятся отдельно.

Тест-кейсы: архивирование, восстановление и удаление из архива

Основание: разделы 3.2 Архивирование, 3.3 Восстановление из архива, 3.4 Удаление из архива, 7. Запрещённые и недопустимые действия.

Общие предусловия

  1. Пользователь авторизован.
  2. У пользователя есть права на архивирование, восстановление и удаление из архива.
  3. В системе есть активные и архивные ЭБП типов Сделка, Задача, Финансовая операция.
Название Предусловия Шаги Ожидаемый результат
1 Архивирование активного ЭБП Есть активный ЭБП без блокирующих связей. 1. Открыть активный ЭБП.
2. Нажать действие Архивировать.
3. Подтвердить действие, если система запрашивает подтверждение.
4. Проверить состояние ЭБП.
1. ЭБП переведен в архив.
2. Флаг В архиве = Да.
3. Архивный ЭБП доступен только для чтения.
2 Архивный ЭБП доступен только для чтения ЭБП находится в архиве. 1. Открыть архивный ЭБП.
2. Попробовать изменить атрибуты.
3. Попробовать выполнить действия, недоступные для архивного ЭБП.
1. Редактирование архивного ЭБП недоступно.
2. Система не сохраняет изменения архивного ЭБП.
3 Восстановление ЭБП из архива ЭБП находится в архиве. 1. Открыть архивный ЭБП.
2. Нажать действие Восстановить из архива.
3. Подтвердить действие, если система запрашивает подтверждение.
4. Проверить состояние ЭБП.
1. ЭБП восстановлен из архива.
2. Флаг В архиве = Нет.
3. ЭБП снова доступен согласно правам пользователя.
4 Удаление архивного ЭБП без активных дочерних ЭБП находится в архиве и не имеет активных дочерних ЭБП. 1. Открыть архивный ЭБП.
2. Нажать действие Удалить из архива.
3. Подтвердить удаление.
4. Попробовать открыть удаленный ЭБП.
1. ЭБП физически удален.
2. Удаленный ЭБП недоступен для открытия.
3. В списках ЭБП удаленный объект не отображается.
5 Запрет удаления активного ЭБП через действие Удалить из архива Есть активный ЭБП. 1. Открыть активный ЭБП.
2. Проверить наличие действия Удалить из архива.
1. Действие Удалить из архива недоступно для активного ЭБП.
2. Если действие вызывается напрямую, backend отклоняет операцию.
6 Блокировка удаления родителя при активных дочерних ЭБП Есть архивный родительский ЭБП с активным дочерним ЭБП. 1. Открыть архивный родительский ЭБП.
2. Нажать Удалить из архива.
3. Подтвердить удаление, если подтверждение отображается.
1. Удаление родителя заблокировано.
2. Система сообщает, что у родителя есть активные дочерние ЭБП.
3. Родительский ЭБП не удален.
7 Удаление родителя после архивирования дочерних ЭБП Есть архивный родительский ЭБП; все дочерние ЭБП также в архиве. 1. Открыть архивный родительский ЭБП.
2. Нажать Удалить из архива.
3. Подтвердить удаление.
1. Родительский ЭБП удаляется, если нет других блокирующих условий.
2. Поведение дочерних архивных ЭБП соответствует настройке каскадного удаления, если она реализована.
8 Каскадное архивирование дочерних ЭБП Настройки каскадного архивирования реализованы и включены; есть родитель с дочерними ЭБП. 1. Настроить archive_children_depth.
2. Настроить archive_children_whitelist.
3. Заархивировать родительский ЭБП.
4. Проверить дочерние ЭБП.
1. Дочерние ЭБП архивируются согласно глубине и whitelist.
2. Дочерние ЭБП вне whitelist не архивируются.
9 Архивирование только текущего ЭБП без каскада Каскадное архивирование отключено; есть родитель с дочерними ЭБП. 1. Заархивировать родительский ЭБП.
2. Проверить дочерние ЭБП.
1. В архив переносится только текущий ЭБП.
2. Дочерние ЭБП не меняют архивный статус.
10 Каскадное восстановление дочерних ЭБП Настройки каскадного восстановления реализованы и включены; есть архивный родитель с архивными дочерними ЭБП. 1. Настроить restore_children_enabled = true.
2. Настроить глубину восстановления.
3. Восстановить родительский ЭБП.
4. Проверить дочерние ЭБП.
1. Родительский ЭБП восстановлен.
2. Дочерние ЭБП восстановлены согласно настройкам.
11 Восстановление только текущего ЭБП по умолчанию Есть архивный родитель с архивными дочерними ЭБП; каскадное восстановление отключено. 1. Восстановить родительский ЭБП.
2. Проверить дочерние ЭБП.
1. Восстановлен только текущий ЭБП.
2. Дочерние ЭБП остаются в архиве.
12 Предупреждение при удалении с мягкими ссылками Мягкие ссылки реализованы; архивный ЭБП имеет ссылающиеся объекты; allow_delete_with_soft_links = true. 1. Открыть архивный ЭБП.
2. Нажать Удалить из архива.
3. Проверить предупреждение.
4. Подтвердить удаление.
1. Система показывает предупреждение и список ссылающихся объектов.
2. После подтверждения удаление выполняется.
13 Запрет удаления при мягких ссылках Мягкие ссылки реализованы; allow_delete_with_soft_links = false. 1. Открыть архивный ЭБП со ссылающимися объектами.
2. Нажать Удалить из архива.
1. Удаление заблокировано.
2. Система сообщает о наличии ссылающихся объектов.
14 Каскадное удаление архивных дочерних ЭБП Каскадное удаление реализовано; есть архивный родитель с архивными дочерними ЭБП. 1. Настроить cascade_delete_children = all_archived.
2. Удалить родительский ЭБП из архива.
3. Проверить дочерние архивные ЭБП.
1. Родительский ЭБП удален.
2. Прямые архивные дочерние ЭБП удалены согласно настройке.

Тест-кейсы: копирование ЭБП

Основание: разделы 3.1 Копирование, 3.1.1, 3.1.2, 3.1.3, 6. Примеры настройки, 8. Итоговая логическая схема.

Общие предусловия

  1. Пользователь авторизован.
  2. У пользователя есть право на копирование выбранного ЭБП.
  3. В системе есть активные ЭБП типов Сделка, Задача, Финансовая операция.
  4. Для проверок вложенности создана сделка с дочерней задачей и/или финансовой операцией.
Название Предусловия Шаги Ожидаемый результат
1 Копирование самостоятельной сделки Есть активная сделка с заполненными атрибутами. 1. Открыть карточку сделки.
2. Нажать действие Копировать.
3. Подтвердить копирование, если система запрашивает подтверждение.
4. Открыть созданную копию.
1. Создан новый ЭБП с новым ID.
2. Тип копии = Сделка.
3. Статус копии = Черновик.
4. Флаг В архиве = Нет.
5. Атрибуты сделки скопированы.
2 Копирование самостоятельной задачи Есть активная задача без родителя. 1. Открыть карточку задачи.
2. Нажать действие Копировать.
3. Открыть созданную копию.
1. Создана новая задача с новым ID.
2. Статус копии = Черновик.
3. Флаг В архиве = Нет.
4. Атрибуты задачи скопированы.
3 Копирование самостоятельной финансовой операции Есть активная финансовая операция без родителя. 1. Открыть карточку финансовой операции.
2. Нажать действие Копировать.
3. Открыть созданную копию.
1. Создана новая финансовая операция с новым ID.
2. Статус копии = Черновик.
3. Флаг В архиве = Нет.
4. Атрибуты финансовой операции скопированы.
4 Копирование вложенной задачи внутри сделки Есть сделка с дочерней задачей. 1. Открыть дочернюю задачу внутри сделки.
2. Нажать действие Копировать.
3. Открыть созданную копию задачи.
4. Проверить родительскую связь.
1. Создана новая задача с новым ID.
2. Копия остается дочерней для той же сделки.
3. parent_id копии равен parent_id исходной задачи.
4. Копия находится на том же уровне иерархии, что и исходная задача.
5 Копирование вложенной финансовой операции внутри сделки или задачи Есть финансовая операция с родителем. 1. Открыть вложенную финансовую операцию.
2. Нажать действие Копировать.
3. Открыть созданную копию.
4. Проверить родительскую связь.
1. Создана новая финансовая операция с новым ID.
2. parent_id копии равен parent_id исходной финансовой операции.
3. Копия создана на том же уровне иерархии.
6 Копирование не дублирует справочные сущности ЭБП содержит ссылки на справочные сущности, если справочники реализованы. 1. Открыть ЭБП со ссылками на контрагента, товар или договор.
2. Выполнить копирование.
3. Проверить ссылки в копии.
1. Справочные сущности не дублируются.
2. В копии сохраняются ссылки на существующие справочные сущности.
3. Новые контрагенты, товары или договоры не создаются.
7 Запрет копирования контрагента как самостоятельного действия ЭБП В системе доступен контрагент, если справочник реализован. 1. Открыть контрагента.
2. Проверить наличие действия Копировать как действия с ЭБП.
1. Контрагент нельзя скопировать как ЭБП.
2. Действие отсутствует или заблокировано.
8 Запрет копирования товара из справочника В системе доступен товар, если справочник реализован. 1. Открыть товар.
2. Проверить наличие действия Копировать как действия с ЭБП.
1. Товар из справочника нельзя скопировать как ЭБП.
2. Действие отсутствует или заблокировано.
9 Каскадное копирование дочерних ЭБП по настройкам Настройки каскадного копирования реализованы и включены; есть сделка с дочерними ЭБП. 1. Настроить copy_children_depth = deep.
2. Настроить copy_children_whitelist с типами Задача и Финансовая операция.
3. Скопировать сделку.
4. Проверить дочерние ЭБП у копии.
1. Дочерние ЭБП выбранных типов скопированы.
2. Для дочерних копий созданы новые ID.
3. Иерархия дочерних ЭБП сохранена согласно настройкам.
10 Копирование без каскада дочерних ЭБП Настройки каскадного копирования реализованы; есть сделка с дочерними ЭБП. 1. Настроить copy_children_depth = none.
2. Скопировать сделку.
3. Проверить дочерние ЭБП у копии.
1. Копируется только текущий ЭБП.
2. Дочерние задачи и финансовые операции не копируются.
11 Копирование товарных потоков при копировании сделки Товарные потоки реализованы; есть сделка с товарными потоками. 1. Открыть сделку с товарными потоками.
2. Выполнить копирование сделки.
3. Проверить товарные потоки у копии.
1. Для копии сделки созданы новые товарные потоки с новыми ID.
2. Количество, цена и тип потока скопированы.
3. Ссылка на товар из справочника осталась прежней.
12 Копирование товарного потока внутри сделки Товарные потоки реализованы; есть сделка с товарным потоком. 1. Открыть товарный поток внутри сделки.
2. Нажать Копировать позицию.
3. Проверить созданный товарный поток.
1. Создан новый товарный поток с новым ID.
2. Значения количества, цены и типа скопированы.
3. Ссылка на товар из справочника осталась прежней.

Тест-кейсы: текущие ограничения реализации

Основание: вводное примечание и раздел 9. Технический долг.

Общие предусловия

  1. Тестирование выполняется в текущей версии системы.
  2. Товарные потоки, справочники и каскадные действия не реализованы.
Название Предусловия Шаги Ожидаемый результат
1 Отсутствие действий с товарными потоками В текущей версии товарные потоки не реализованы как объект действий. 1. Открыть сделку.
2. Проверить наличие товарных потоков как отдельных объектов действий.
3. Проверить наличие действий Копировать, Архивировать, Удалить для товарного потока.
1. Товарные потоки как отдельная сущность действий отсутствуют.
2. Действия с товарными потоками недоступны.
2 Отсутствие справочников контрагентов, товаров и договоров В текущей версии справочники не реализованы. 1. Проверить доступность справочников Контрагент, Товар, Договор.
2. Проверить связи ЭБП со справочниками.
1. Справочники недоступны или не участвуют в действиях с ЭБП.
2. Связи строятся только через родительские идентификаторы.
3 Каскадное копирование не применяется в текущей версии Есть родительский ЭБП с дочерними ЭБП. 1. Скопировать родительский ЭБП.
2. Проверить дочерние ЭБП у копии.
1. Копируется только текущий ЭБП и базовые атрибуты.
2. Каскадное копирование дочерних ЭБП не выполняется, если функциональность отключена.
4 Каскадное архивирование не применяется в текущей версии Есть родительский ЭБП с дочерними ЭБП. 1. Заархивировать родительский ЭБП.
2. Проверить дочерние ЭБП.
1. Архивируется только текущий ЭБП.
2. Дочерние ЭБП не меняют архивный статус из-за отключенного каскада.
5 Каскадное восстановление не применяется в текущей версии Есть архивный родительский ЭБП с архивными дочерними ЭБП. 1. Восстановить родительский ЭБП.
2. Проверить дочерние ЭБП.
1. Восстанавливается только текущий ЭБП.
2. Дочерние ЭБП не восстанавливаются автоматически.
6 Каскадное удаление не применяется в текущей версии Есть архивный родительский ЭБП с архивными дочерними ЭБП. 1. Удалить родительский ЭБП из архива.
2. Проверить дочерние ЭБП.
1. Каскадное удаление дочерних ЭБП не выполняется, если функциональность отключена.
2. Поведение соответствует текущим ограничениям реализации.
7 Блокировка удаления родителя при активных дочерних действует в текущей версии Есть архивный родительский ЭБП с активным дочерним ЭБП. 1. Попытаться удалить родительский ЭБП из архива. 1. Удаление заблокировано.
2. Система сообщает о наличии активных дочерних ЭБП или возвращает ошибку целостности.
8 Мягкие ссылки не учитываются в текущей версии Справочники и мягкие ссылки не реализованы. 1. Выполнить удаление архивного ЭБП без активных дочерних.
2. Проверить наличие предупреждений по мягким ссылкам.
1. Предупреждения по мягким ссылкам не отображаются.
2. Система не проверяет связи через справочники, так как они не реализованы.