The basics

Running your first workflow

In this tutorial, we'll create a new Node.js project, install the test suite, and run our first workflow.

Create a project

Use npm, yarn, or pnpm to create a new project. Install cucumber and the LetsFlow test suite.

yarn init
yarn add --dev @cucumber/cucumber @letsflow/testing

Copy the cucumber configuration from the test suite and create directories from the scenario and test files.

cp node_modules/@letsflow/testing/cucumber.example.yaml ./cucumber.yaml
mkdir scenarios features

Edit package.json and add the test:workflows script.

  "scripts": {
    "test:workflows": "cucumber-js --profile workflows"
  }

My first scenario

The scenario describes the process we're automating. We can write a scenario in either JSON or YAML.

A scenario has states. A new process will always start in the "initial" state. We define that if we perform the "complete" action, the process will transition to the "(done)" state.

A state with a name in parenthesis, like "(done)", is an end state. There are no transitions from an end state. Unlike normal states, end states can be used in a goto statement without defining them explicitly.

Running a test

The scenario can be tested by writing a BDD test in the Gherkin language. Gherkin uses a set of special keywords to give structure and meaning so the test can be executed.

The LetsFlow test suite comes with a predefined set of statements that can be used to test running a scenario.

Run the test from the command line

Congratulations!

You've successfully created and tested your first workflow.

Last updated

Was this helpful?