LCOV - code coverage report
Current view: top level - src/app/bloc - app_bloc.dart (source / functions) Hit Total Coverage
Test: lcov.info Lines: 17 17 100.0 %
Date: 2026-03-02 18:37:46 Functions: 0 0 -

          Line data    Source code
       1             : import 'dart:async';
       2             : 
       3             : import 'package:tech_proof/core/error/global_error_bus.dart';
       4             : 
       5             : import 'package:equatable/equatable.dart';
       6             : import 'package:flutter_bloc/flutter_bloc.dart';
       7             : 
       8             : part 'app_event.dart';
       9             : part 'app_state.dart';
      10             : 
      11             : class AppBloc extends Bloc<AppEvent, AppState> {
      12             :   late final StreamSubscription _errorSub;
      13           3 :   AppBloc() : super(AppInitial()) {
      14           4 :     _errorSub = GlobalErrorBus.stream.listen((appError) {
      15           2 :       add(AppErrorReceived(appError));
      16             :     });
      17             : 
      18           2 :     on<AppErrorReceived>(_onErrorReceived);
      19             :   }
      20             : 
      21           1 :   void _onErrorReceived(AppErrorReceived event, Emitter<AppState> emit) {
      22           1 :     final error = event.error;
      23             : 
      24           1 :     switch (error.type) {
      25           1 :       case "unauthorized":
      26           3 :         emit(AppSessionExpired(error.message));
      27             :         break;
      28           1 :       case "network":
      29           3 :         emit(AppNetworkError(error.message));
      30             :         break;
      31           1 :       case "server_error":
      32           3 :         emit(AppServerError(error.message));
      33             :         break;
      34             :       default:
      35           3 :         emit(AppUnknownError(error.message));
      36             :     }
      37             :   }
      38             : 
      39           1 :   @override
      40             :   Future<void> close() {
      41           2 :     _errorSub.cancel();
      42           1 :     return super.close();
      43             :   }
      44             : }

Generated by: LCOV version 1.14