LCOV - code coverage report
Current view: top level - auth/reducers - set_auth_user_data_reducer.dart (source / functions) Hit Total Coverage
Test: lcov.info Lines: 10 13 76.9 %
Date: 2022-03-03 12:16:56 Functions: 0 0 -

          Line data    Source code
       1             : import 'package:fast_immutable_collections/fast_immutable_collections.dart';
       2             : import 'package:redux/redux.dart';
       3             : 
       4             : import '../../types/red_fire_state.dart';
       5             : import '../actions/set_auth_user_data_action.dart';
       6             : import '../enums/providers_enum.dart';
       7             : import '../link-providers/enums/linking_account_enum.dart';
       8             : import '../link-providers/models/link_accounts_view_model.dart';
       9             : import '../utils/constants/auth_provider_names.dart';
      10             : 
      11             : class SetAuthUserDataReducer<T extends RedFireState>
      12             :     extends TypedReducer<T, SetAuthUserDataAction> {
      13           2 :   SetAuthUserDataReducer()
      14           4 :       : super((state, action) {
      15           2 :           var newStateOf = <ProvidersEnum, LinkingStateEnum>{
      16           4 :             for (var v in ProvidersEnum.values) v: LinkingStateEnum.unlinked
      17             :           };
      18             : 
      19           8 :           for (var entry in state.auth.linking.stateOf.entries) {
      20           0 :             if (entry.value == LinkingStateEnum.linking) {
      21           0 :               newStateOf[entry.key] = LinkingStateEnum.linking;
      22             :             }
      23             :           }
      24             : 
      25           2 :           if (action.authUserData != null) {
      26           4 :             for (var authProvider in action.authUserData!.providers) {
      27           0 :               newStateOf[authProviderEnumFrom[authProvider.providerId]!] =
      28             :                   LinkingStateEnum.linked;
      29             :             }
      30             :           }
      31           4 :           return ((state as dynamic).copyWith.auth(
      32           2 :               userData: action.authUserData,
      33           4 :               linking: LinkAccountsViewModel(newStateOf.lock)) as T);
      34             :         });
      35             : }

Generated by: LCOV version 1.13