Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add conditional logic evaluation to the flow engine #65

Open
Tracked by #59
tomtitherington opened this issue Feb 23, 2024 · 0 comments
Open
Tracked by #59

Add conditional logic evaluation to the flow engine #65

tomtitherington opened this issue Feb 23, 2024 · 0 comments
Labels
blocked: conflict/dependency Something else is blocking this. scope: backend Work involving the backend / Django REST project. size: days This should only take a few days.

Comments

@tomtitherington
Copy link
Contributor

tomtitherington commented Feb 23, 2024

Background & Context*

The flow engine needs to evaluate the conditions defined within a TransitionSchema before the transition can be executed.

Goal*

  • When flows are executed any conditions defined within a transition will be evaluated
  • When processing auto transitions, if a chosen transition's condition evaluates to Flase then it should choose another. This process should continue until either a transition can be executed or no transition conditions evaluate to True and the flow should be stopped in its current state.

Implementation Details*

Depending on what templating engine we decide on for defining properties within JSON conditions. These properties will need to be injected before the condition is evaluated.

Acceptance Criteria*

  • What are the specific, measurable outcomes that indicate the task is completed? Try use a task list of bullet points.

  • A simple test asserting that if a condition evaluates to false and no other transition can be taken, the flow will be stopped.

  • A simple test with two transitions, both of type automatic where one condition should evaluate to False and the other True. Only the transition that evaluates to True should be executed.

  • A simple test with one transition with a condition that evaluates to True. Assert that the transition was in fact executed.

Dependencies

Blockers:

*required field.

@tomtitherington tomtitherington added blocked: conflict/dependency Something else is blocking this. scope: backend Work involving the backend / Django REST project. size: days This should only take a few days. type: feature A piece of functionality of the product. and removed type: feature A piece of functionality of the product. labels Feb 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocked: conflict/dependency Something else is blocking this. scope: backend Work involving the backend / Django REST project. size: days This should only take a few days.
Projects
Status: 🔖 Planned
Development

No branches or pull requests

1 participant