LCOV - code coverage report
Current view: top level - domain/usecase - unico.callback.usecase.dart (source / functions) Hit Total Coverage
Test: lcov.info Lines: 43 43 100.0 %
Date: 2022-06-29 11:20:31 Functions: 0 0 -

          Line data    Source code
       1             : import 'package:unico_check/src/unico/abstractions/use_case.dart';
       2             : import 'package:unico_check/src/unico/adapter/api/response/document/unico.document.dart';
       3             : import 'package:unico_check/src/unico/adapter/api/response/selfie/unico.selfie.dart';
       4             : import 'package:unico_check/src/unico/adapter/api/unico.listener.dart';
       5             : import 'package:unico_check/src/unico/domain/entities/camera_callback/camera.callback.config.entity.dart';
       6             : import 'package:unico_check/src/unico/domain/entities/error.method.name.dart';
       7             : import 'package:unico_check/src/unico/domain/entities/unico.error.channel.dart';
       8             : import 'package:unico_check/src/unico/domain/mapper/unico.error.factory.dart';
       9             : 
      10             : class UnicoCallBackUseCase
      11             :     implements UseCase<void, CameraCallbackConfingEntity> {
      12             :   final UnicoErrorFactory unicoErrorMapper;
      13             :   static const String unknownError = "unknown error";
      14             :   static const int unknownCode = 999;
      15             : 
      16             :   late UnicoErrorChannel? _unicoError;
      17             :   late UnicoListener _unicoListener;
      18             :   late UnicoSelfie? _listenerSelfie;
      19             :   late UnicoDocument? _listenerDocument;
      20             : 
      21           2 :   UnicoCallBackUseCase(this.unicoErrorMapper);
      22             : 
      23           1 :   @override
      24             :   void call(CameraCallbackConfingEntity param) {
      25           2 :     _unicoError = param.unicoError;
      26           2 :     _unicoListener = param.unicoListener;
      27           2 :     _listenerSelfie = param.listenerSelfie;
      28           2 :     _listenerDocument = param.listenerDocument;
      29             : 
      30           1 :     _verifyError();
      31             :   }
      32             : 
      33           1 :   _verifyError() {
      34           1 :     if (_unicoError != null &&
      35           2 :         _unicoError?.methodName != null &&
      36           3 :         _unicoError?.methodName != "") {
      37           3 :       _errorCallBackWithName(_unicoError!.methodName!);
      38             :     } else {
      39           2 :       _unicoListener.onErrorUnico(
      40           2 :           unicoErrorMapper.buildUnicoError(unknownCode, unknownError));
      41             :     }
      42             :   }
      43             : 
      44           1 :   _errorCallBackWithName(String methodName) {
      45             :     try {
      46             :       switch (methodName) {
      47           1 :         case ErrorMethodName.onCameraFailedPrepare:
      48           1 :         case ErrorMethodName.onErrorUnico:
      49           1 :         case ErrorMethodName.onErrorJsonFileName:
      50           1 :           _onErrorUnico();
      51             :           break;
      52           1 :         case ErrorMethodName.onUserClosedCameraManually:
      53           2 :           _unicoListener.onUserClosedCameraManually();
      54             :           break;
      55           1 :         case ErrorMethodName.onSystemClosedCameraTimeoutSession:
      56           2 :           _unicoListener.onSystemClosedCameraTimeoutSession();
      57             :           break;
      58           1 :         case ErrorMethodName.onSystemChangedTypeCameraTimeoutFaceInference:
      59           2 :           _unicoListener.onSystemChangedTypeCameraTimeoutFaceInference();
      60             :           break;
      61           1 :         case ErrorMethodName.onErrorSelfie:
      62           1 :           _onErrorSelfie();
      63             :           break;
      64           1 :         case ErrorMethodName.onErrorDocument:
      65           1 :           _onErrorDocument();
      66             :           break;
      67             :       }
      68             :     } catch (exception) {
      69           2 :       _unicoListener.onErrorUnico(
      70           2 :           unicoErrorMapper.buildUnicoError(unknownCode, unknownError));
      71             :     }
      72             :   }
      73             : 
      74           1 :   _onErrorUnico() {
      75           4 :     _unicoListener.onErrorUnico(unicoErrorMapper.buildUnicoError(
      76           2 :       _unicoError?.code ?? unknownCode,
      77           2 :       _unicoError?.description ?? unknownError,
      78             :     ));
      79             :   }
      80             : 
      81           1 :   _onErrorSelfie() {
      82           4 :     _listenerSelfie?.onErrorSelfie(unicoErrorMapper.buildUnicoError(
      83           2 :       _unicoError?.code ?? unknownCode,
      84           2 :       _unicoError?.description ?? 'Selfie error',
      85             :     ));
      86             :   }
      87             : 
      88           1 :   _onErrorDocument() {
      89           4 :     _listenerDocument?.onErrorDocument(unicoErrorMapper.buildUnicoError(
      90           2 :       _unicoError?.code ?? unknownCode,
      91           2 :       _unicoError?.description ?? 'Document error',
      92             :     ));
      93             :   }
      94             : }

Generated by: LCOV version 1.16