stepfunctions-testing
TypeScript icon, indicating that this package has built-in type declarations

0.1.2 • Public • Published

Step Functions Testing Library

Features

Install

npm i stepfunctions-testing

Usage

Creating a mocked response

Return a response

const checkIdentityLambdaMockedSuccess = new MockedResponse(
  'CheckIdentityLambdaMockedSuccess'
).return<any>({
  StatusCode: 200,
  Payload: {
    statusCode: 200,
    body: JSON.stringify({
      approved: true,
      message: 'identity validation passed',
    }),
  },
});

Throw a response

const checkIdentityLambdaMockedThrowError = new MockedResponse(
  'CheckIdentityLambdaMockedThrowError'
).throw('CustomValidationError', 'Check Identity Validation Failed');

Repeating responses

const checkIdentityLambdaMockedThrowError = new MockedResponse(
  'CheckIdentityLambdaMockedThrowError'
).throw('CustomValidationError', 'Check Identity Validation Failed', /* repeat the response 3 times. total becomes 4 */ 3);

Full example

// Create mocked responses
const checkIdentityLambdaMockedSuccess = new MockedResponse(
  'CheckIdentityLambdaMockedSuccess'
).return<any>({
  StatusCode: 200,
  Payload: {
    statusCode: 200,
    body: JSON.stringify({
      approved: true,
      message: 'identity validation passed',
    }),
  },
});

const checkAddressLambdaMockedSuccess = new MockedResponse(
  'CheckAddressLambdaMockedSuccess'
).return<any>({
  StatusCode: 200,
  Payload: {
    statusCode: 200,
    body: JSON.stringify({
      approved: true,
      message: 'address validation passed',
    }),
  },
});

// Create a state machine test definition
const stateMachineTestDefinition = new StateMachineTestDefinition('SomeStateMachineName')
  .addTestCase(
    new StateMachineTestCase('HappyPathTest')
      .withInput(input)
      .addMockedState(
        'CheckIdentity',
        checkIdentityLambdaMockedSuccess
      )
      .addMockedState(
        'CheckAddress',
        checkAddressLambdaMockedSuccess
      )
  );

// Create a config
const config = new StepFunctionsMockConfig()
      .addTestDefinition(stateMachineTestDefinition);

// Convert the config object to JSON
// You can write this down to a file to be used by step functions local
config.toJSON();

License

stepfunctions-testing is available under the terms of MIT License

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 0.1.2
    1,002
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 0.1.2
    1,002
  • 0.1.1
    0
  • 0.1.0
    1

Package Sidebar

Install

npm i stepfunctions-testing

Weekly Downloads

1,003

Version

0.1.2

License

MIT

Unpacked Size

25.5 kB

Total Files

22

Last publish

Collaborators

  • kenfdev