Project

General

Profile

Actions

UniEditor

Содержит дерево требований с тест-кейсами (для краткости будем называть кейсами), каждый узел дерева содержит информацию о соответствующем требовании или кейсе.

Узел-требование

Содержит:
  1. Имя требования (Name)
  2. Текст требования
    • если требование имеет alternative description, то это оно и есть
    • если требование не имеет alternative description, то это description
    • если требование только что создано через Requality Explorer или через UniEditor

Узел-кейс

Содержит:
  1. Test Case Number
  2. Описание (Test Case Description)
    # Ожидаемый результат (Expected Result) Решено убрать

Команды в редакторе

  • Переходы вверх/вниз по дереву
  • Добавить требование-брата
  • Добавить требование-ребенка
  • Добавить test case-ребенка
  • Удалить выделенные узлы (Как выделить несколько? Нужно предупреждение, если у узла есть потомки? Нужна возможность отменить удаление?)
  • Переместить узел (Предупреждение при наличии потомков?)
  • Вход/выход из режима редактирования.

Интерфейс UniEditor <-> Eclipse

////////////////////////////////////////////////////////////////////////////////
// External functions implemented and injected by Requality

/*
    Request for the specific node data
    Input parameters:
        uuid - (String) uuid of the requested node
    Return value:
        String value containing JSON definition of the node. Possible values:
        a) for root element ('Requirements'):
            { type: null, children: ['<uuid1>', '<uuid2>', ...] }
        b) for requirement elements:
            { type: 'requirement', id: '<node_id>', description: '<node_description>', children: ['<uuid1>', '<uuid2>', ...] }
        b) for testcase elements:
            { type: 'testcase', id: '<node_id>', description: '<testcase_description>', result: '<testcase_result>', status: '<in progress|complete|verified>' }
*/
function getNode(uuid);

/*
    Request for the root element of the selected subtree
    Input parameters:
        none
    Return value:
        String value containing uuid of the subtree root node
*/
function getStartNode();

/*
    Request to change the node ID
    Input parameters:
        uuid   - (String) uuid of the updated node
        new_id - (String) new ID to be set
    Return value:
        Boolean value: true if operation was successful, false otherwise
*/
function changeNodeId(uuid, new_id);

/*
    Request to change the value of one of the node attributes
    Input parameters:
        uuid      - (String) uuid of the updated node
        attr_name - (String) name of the changed attribute
        new_val   - (String) new attribute value to be set
    Return value:
        Boolean value: true if operation was successful, false otherwise
*/
function changeNodeAttr(uuid, attr_name, new_val);

/*
    Request to change the move a node into different subtree
    Input parameters:
        uuid            - (String) uuid of the moved node
        new_parent_uuid - (String) uuid of the new parent node
    Return value:
        Boolean value: true if operation was successful, false otherwise
*/
function changeNodeParent(uuid, new_parent_uuid);

/*
    Request to insert a new node
    Input parameters:
        uuid        - (String) uuid of the new node
        parent_uuid - (String) uuid of the parent node
    Return value:
        Boolean value: true if operation was successful, false otherwise
*/
function addNode(uuid, parent_uuid);

/*
    Request to remove a node with all its decendants
    Input parameters:
        uuid - (String) uuid of the removed node
    Return value:
        Boolean value: true if operation was successful, false otherwise
*/
function removeNode(uuid);

////////////////////////////////////////////////////////////////////////////////
// Callback functions that can be called by Requality

/*
    Callback function called by Requality when node or some of its children change outside of UniEditor
    Input parameters:
        uuid - (String) uuid of the updated node
    Return value:
        none
*/
function onChangeNode(uuid);

Updated by Viktoria Kopach over 12 years ago · 11 revisions