re_state_action_test 0.0.5 copy "re_state_action_test: ^0.0.5" to clipboard
re_state_action_test: ^0.0.5 copied to clipboard

A testing library to make testing re_state_action easier. Built to be used with the re_state_action package.

Re:StateAction Test

Pub.dev Badge GitHub Build Badge MIT License Badge Very Good Analysis Style Badge

About #

This package is a wrapper of the default unit test to make it easier to test the ReStateAction package.

Usage #

To use this package, add re_state_action_test as a dev dependency in your pubspec.yaml file.

Unit Test with reStateTest #

reStateTest Creates a test case for a ReState with the given description. reStateTest is a wrapper around conventional unit test that handles assertions for expectStates and expectErrors emitted in order by the ReState.

buildReState is a function that returns a ReState instance to be tested.

setUp is an optional function that is called before the test case to prepare the test environment.

seedStates is an optional function that returns an iterable of states to seed the ReState with before the test actReState is called.

actReState is an optional function that is called to perform an action on the ReState under test. Should be used to interact with the ReState.

wait is an optional duration to wait before asserting the expectStates.

expectStates is an optional function that returns a matcher that verifies the states that are expected to be emitted by the ReState in order.

expectErrors is an optional function that returns a matcher that verifies the errors that are expected to be thrown by the ReState in order.

verifyReState is an optional function that is called to verify the ReState after the test expectations have been asserted.

tearDown is an optional function that is called after the test case to clean up the test environment.

skip is an optional boolean that can be used to skip the test case.

tags is an optional dynamic that can be used to tag the test case.

Examples:

reStateTest<CounterReState, int>(
 'should emit states in order',
  buildReState: () => CounterReState(initialState: 0),
  actReState: (reState) => reState.increment(),
  expectStates: () => [0, 1],
);

seedStates can be used to seed the ReState with states before the test

reStateTest<CounterReState, int>(
  'should emit states in order',
  buildReState: () => CounterReState(initialState: 0),
  seedStates: () => [1, 2],
  actReState: (reState) => reState.increment(),
  expectStates: () => [0, 1, 2, 3],
);

Unit Test with reStateActionTest #

reStateActionTest Creates a test case for a ReStateAction with the given description. reStateActionTest is a wrapper around conventional unit test that handles assertions for expectStates, expectActions and expectErrors emitted in order by the ReStateAction.

buildReStateAction is a function that returns a ReState instance to be tested.

setUp is an optional function that is called before the test case to prepare the test environment.

seedStates is an optional function that returns an iterable of states to seed the ReStateAction with before the test actReStateAction is called.

seedActions is an optional function that returns an iterable of actions to seed the ReStateAction with before the test actReStateAction is called.

actReStateAction is an optional function that is called to perform an action on the ReStateAction under test. Should be used to interact with the ReStateAction.

wait is an optional duration to wait before asserting the expectStates.

expectStates is an optional function that returns a matcher that verifies the states that are expected to be emitted by the ReStateAction in order.

expectActions is an optional function that returns a matcher that verifies the actions that are expected to be emitted by the ReStateAction in order.

expectErrors is an optional function that returns a matcher that verifies the errors that are expected to be thrown by the ReStateAction in order.

verifyReStateAction is an optional function that is called to verify the ReStateAction after the test expectations have been asserted.

tearDown is an optional function that is called after the test case to clean up the test environment.

skip is an optional boolean that can be used to skip the test case.

tags is an optional dynamic that can be used to tag the test case.

Examples:

reStateTestAction<CounterReStateAction, int, CounterAction>(
  'should emit states and actions in order',
  buildReStateAction: () => CounterReStateAction(initialState: 0),
  actReStateAction: (reStateAction) => reStateAction.increment(),
  expectStates: () => [0, 1],
  expectActions: () => [ShowSnackBarAction()],
);

seedStates can be used to seed the ReState with states before the test

reStateTestAction<CounterReStateAction, int, CounterAction>(
  'should emit states and actions in order',
  buildReStateAction: () => CounterReStateAction(initialState: 0),
  seedStates: () => [1, 2],
  seedActions: () => [ShowSnackBarAction()],
  actReStateAction: (reStateAction) => reStateAction.increment(),
  expectStates: () => [0, 1, 2, 3],
  expectActions: () => [ShowSnackBarAction(), ShowSnackBarAction()],
);

Contributing #

We welcome contributions to this package. If you would like to contribute, please feel free to open an issue or a pull request.

License #

ReStateAction is licensed under the MIT License. See the LICENSE for details.

3
likes
150
pub points
0%
popularity

Publisher

unverified uploader

A testing library to make testing re_state_action easier. Built to be used with the re_state_action package.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (LICENSE)

Dependencies

flutter, meta, mocktail, re_state_action, test

More

Packages that depend on re_state_action_test