LCOV - code coverage report
Current view: top level - lib/shared/middleware - select_adventure_node_middleware.dart (source / functions) Hit Total Coverage
Test: lcov.info Lines: 9 17 52.9 %
Date: 2022-03-03 12:16:40 Functions: 0 0 -

          Line data    Source code
       1             : import 'package:redfire/extensions.dart';
       2             : import 'package:redfire/services.dart';
       3             : import 'package:redux/redux.dart';
       4             : 
       5             : import '../../adventures/models/adventure_model.dart';
       6             : import '../../app_state.dart';
       7             : import '../../challenges/models/challenge_model.dart';
       8             : import '../../tasks/models/task_model.dart';
       9             : import '../actions/select_adventure_node_action.dart';
      10             : import '../actions/set_adventure_nodes_action.dart';
      11             : import '../extensions/json_list_extension.dart';
      12             : 
      13             : class SelectAdventureNodeMiddleware
      14             :     extends TypedMiddleware<AppState, SelectAdventureNodeAction> {
      15           1 :   SelectAdventureNodeMiddleware()
      16           2 :       : super((store, action, next) async {
      17           1 :           next(action);
      18             : 
      19             :           try {
      20           1 :             final service = RedFireLocator.getDatabaseService();
      21             : 
      22           2 :             if (action.selection.isAdventure()) {
      23           2 :               var jsonList = await service.getDocuments(
      24             :                   at: 'challenges',
      25             :                   where: 'parentIds',
      26           2 :                   arrayContains: (action.selection as AdventureModel).id);
      27           1 :               store.dispatch(SetAdventureNodesAction(jsonList.toChallenges()));
      28             : 
      29             :               return;
      30             :             }
      31             : 
      32           0 :             if (action.selection.isChallenge()) {
      33           0 :               var jsonList = await service.getDocuments(
      34             :                   at: 'tasks',
      35             :                   where: 'parentIds',
      36           0 :                   arrayContains: (action.selection as ChallengeModel).id);
      37           0 :               store.dispatch(SetAdventureNodesAction(jsonList.toTasks()));
      38             : 
      39             :               return;
      40             :             }
      41             : 
      42           0 :             if (action.selection.isTask()) {
      43           0 :               var jsonList = await service.getDocuments(
      44             :                   at: 'steps',
      45             :                   where: 'parentIds',
      46           0 :                   arrayContains: (action.selection as TaskModel).id);
      47           0 :               store.dispatch(SetAdventureNodesAction(jsonList.toSteps()));
      48             : 
      49             :               return;
      50             :             }
      51             :           } catch (error, trace) {
      52           1 :             store.dispatchProblem(error, trace);
      53             :           }
      54             :         });
      55             : }

Generated by: LCOV version 1.13