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

    Install

    npm i stepfunctions-testing

    DownloadsWeekly Downloads

    327

    Version

    0.1.2

    License

    MIT

    Unpacked Size

    25.5 kB

    Total Files

    22

    Last publish

    Collaborators

    • kenfdev