ensureWifiTestDoublesForTest function

void ensureWifiTestDoublesForTest()

Replaces the app's Wi-Fi managers with deterministic test doubles when the wifi module is enabled (useWifi, not WifiManagerStub).

Implementation

void ensureWifiTestDoublesForTest() {
  final getIt = GetIt.I;
  if (!getIt.isRegistered<WifiManager>()) return;
  if (getIt.get<WifiManager>() is WifiManagerStub) return;

  getIt.unregister<WifiManager>();
  if (getIt.isRegistered<NetworkInfoManager>()) {
    getIt.unregister<NetworkInfoManager>();
  }

  getIt.registerSingleton<WifiManager>(_TestWifiManager());
  getIt.registerSingleton<NetworkInfoManager>(_TestNetworkInfoManager());
}