sendSequence method

Future<void> sendSequence(
  1. List<(Action, Duration)> actions
)

Dispatches a sequence of actions with delays between each.

Each entry is a tuple of (action, delay). The delay is applied before sending each action. Useful for testing time-dependent effects.

await testStore.sendSequence([
  (CounterAction.increment, Duration(milliseconds: 100)),
  (CounterAction.increment, Duration(milliseconds: 100)),
]);

Implementation

Future<void> sendSequence(
  List<(Action action, Duration duration)> actions,
) async {
  for (final action in actions) {
    await Future.delayed(action.$2);
    Future.microtask(() => _store.send(action.$1));
  }
}