Действия с ЭБП¶
Матрица трассировки
Матрица показывает, какие тест-кейсы проверяют требования по действиям с ЭБП.
| Требование / раздел | Описание | Тест-кейсы |
|---|---|---|
| 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 | Просмотр настроек действий по типам ЭБП | Выполнены общие предусловия. | 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 | Архивирование активного ЭБП | Есть активный ЭБП без блокирующих связей. | 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 | Копирование самостоятельной сделки | Есть активная сделка с заполненными атрибутами. | 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 | Отсутствие действий с товарными потоками | В текущей версии товарные потоки не реализованы как объект действий. | 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. Система не проверяет связи через справочники, так как они не реализованы. |