fireStateUpdate function

void fireStateUpdate(
  1. String stateName, {
  2. dynamic data,
})

Fire an UpdateState event to a widget identified by stateName.

This simulates calling updateState(stateName, data: data) from another widget or controller.

Example:

fireStateUpdate('HomePageState', data: {'items': ['a', 'b']});
await tester.pump();
expect(find.text('a'), findsOneWidget);

Implementation

void fireStateUpdate(String stateName, {dynamic data}) {
  final eventBus = Backpack.instance.read<EventBus>("event_bus");
  if (eventBus == null) {
    throw StateError(
      'EventBus not found in Backpack. '
      'Ensure Nylo is initialized before firing state updates.',
    );
  }

  NyStateTestHelpers._firedUpdates.add(_FiredStateUpdate(stateName, data));
  eventBus.fire(UpdateState(stateName: stateName, data: data));
}