Uploaded image for project: 'camunda BPM'
  1. camunda BPM
  2. CAM-12178

Assert: I can find a task by a variable in its parent scope hierarchy

    XMLWordPrintable

    Details

      Description

      Component

      https://github.com/camunda/camunda-bpm-assert/

      User story

      When testing a process, I want to select a task by variables that are defined in parent (but not the root) scope. E.g. if I test a multi-instance user task, I want to select a task by the value of its loop counter or element variable.
       
      Background

      Currently I can only filter for variables on any and task-local level, e.g.

      TaskQuery taskQuery = taskQuery().processVariableValueLike("belegId", "ID-1");
      task = task(taskQuery);
      

      In the multi-instance use case, this code matches all available tasks.

      Acceptance Criteria

      • In assert, there is an extension that allows to filter for tasks with a variable value in their parent execution hierarchy.

      Implementation hints

      • Note that the scope of this feature request is to extend Camunda BPM Assert, not the task query. Filtering for variables in a hierarchy is not possible to express with standard SQL due to the recursive nature of the data. While recursive SQL constructs exist, they are no supported on all our databases afaik.
      • Since test assertions are not performance critical, it is ok to do multiple queries and filter results in Java (e.g. selecting the execution hierarchy, and then fetching and matching variables on Java side)

        mgm-controller-panel

        This is the controller panel for Smart Panels app

          Attachments

            Issue Links

              Activity

                People

                Assignee:
                Unassigned Unassigned
                Reporter:
                andre.bappert Andre Bappert
                Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                  Dates

                  Created:
                  Updated:

                    Salesforce