EnsembleTestContext.fromTestCase constructor
EnsembleTestContext.fromTestCase(
- EnsembleTestCase testCase, {
- EnsembleTestConfig config = const EnsembleTestConfig(),
Implementation
factory EnsembleTestContext.fromTestCase(
EnsembleTestCase testCase, {
EnsembleTestConfig config = const EnsembleTestConfig(),
}) {
final logger = TestLogger();
final apiOverlay = TestApiProviderOverlay(
mocks: Map<String, MockAPIResponse>.from(testCase.mocks.apis),
);
final storage = testCase.initialState['storage'];
final secureStorage = testCase.initialState['secureStorage'];
final keychain = testCase.initialState['keychain'];
final env = testCase.initialState['env'];
final envMap =
env is Map ? Map<String, dynamic>.from(env) : <String, dynamic>{};
final setup = EnsembleTestSetup(
envOverrides: envMap.isEmpty ? null : envMap,
initialPublicStorage:
storage is Map ? Map<String, dynamic>.from(storage) : null,
initialSecureStorage: secureStorage is Map
? Map<String, dynamic>.from(secureStorage)
: null,
initialKeychain:
keychain is Map ? Map<String, dynamic>.from(keychain) : null,
);
final ctx = EnsembleTestContext(
testCase: testCase,
config: config,
apiOverlay: apiOverlay,
logger: logger,
setup: setup,
);
apiOverlay.stepIndexProvider = () => ctx.runtime.currentStepIndex;
ctx.envOverrides.addAll(envMap);
ctx.runtime.locale = _localeFromEnv(envMap['APP_LOCALE']);
return ctx;
}