afStateTestMain function
The main function which executes the store test defined in your initStateTests function.
Implementation
void afStateTestMain(AFCommandOutput output, AFTestStats stats, AFDartParams paramsD) {
if(!AFConfigEntries.testsEnabled.isAreaEnabled(AFibD.config, AFConfigEntryEnabledTests.stateTests)) {
return;
}
final tests = AFibF.g.stateTests;
final contexts = <AFStateTestContext>[];
const testKind = "State";
final localStats = AFTestStats();
final store = AFibF.g.internalOnlyActiveStore;
for(final test in tests.tests) {
if(AFConfigEntries.testsEnabled.isTestEnabled(AFibD.config, test.id)) {
if(localStats.isEmpty) {
printTestKind(output, testKind);
}
printPrototypeStart(output, test.id);
final context = AFStateTestContextForState(test, AFConceptualStore.appStore, isTrueTestContext: true);
context.store.dispatch(AFResetToInitialStateAction());
context.store.dispatch(AFResetToInitialRouteAction());
test.execute(context);
contexts.add(context);
output.indent();
printTestResult(output, testKind, context, localStats);
output.outdent();
context.finishAndUpdateStats(localStats);
AFibF.g.internalOnlyActiveStore.dispatch(AFShutdownOngoingQueriesAction());
}
}
store.dispatch(AFNavigateExitTestAction());
AFStateTestContext.currentTest = null;
final baseContexts = List<AFBaseTestExecute>.of(contexts);
printTestTotal(output, baseContexts, localStats);
stats.mergeIn(localStats);
}