override<T extends OrbitStore> static method

void override<T extends OrbitStore>(
  1. T instance
)

Registers instance as the singleton for store T, replacing (and disposing) any existing one. Mainly for widget tests, to swap in a fake/mock store before pumping the widget under test:

setUp(() => Orbit.override<CounterStore>(FakeCounterStore()));

Implementation

static void override<T extends OrbitStore>(T instance) {
  final old = _stores.remove(T);
  if (old != null) {
    old.dispose();
    _purgeUndoEntriesFor(old);
  }
  _stores[T] = instance;
  try {
    instance._runInit();
  } catch (_) {
    _stores.remove(T);
    instance.dispose();
    rethrow;
  }
}