тип «Null» не является подтипом типа «Future<bool>»

Я получаю следующую ошибку, когда пытаюсь реализовать блочное тестирование в своем проекте флаттера.

      type 'Null' is not a subtype of type 'Future<bool>'
package:mynovatium/features/signup/repositories/signup_repository.dart 10:16  MockRepository.createAccountsignup

Ниже приведены соответствующие файлы, которые могут помочь определить причину ошибки signup_bloc_test.dart.

      class MockRepository extends Mock implements SignUpRepository {}

void main() async {
  await configureInjection(inj.Environment.test);
  group('SignupBloc', () {
    late SignUpBloc signUpBloc;
    late SignUpRepository signupRepositoryMock;
    setUp(() {
      signupRepositoryMock = MockRepository();
      signUpBloc = SignUpBloc(signUpRepository: signupRepositoryMock);
    });

    test('initial state of the bloc is [AuthenticationInitial]', () {
      expect(SignUpBloc(signUpRepository: signupRepositoryMock).state,
          SignupInitial(),);
    });

    group('SignUpCreateAccount', () {
      blocTest<SignUpBloc, SignUpState>(
        'emits [SignUpCreateAccountLoading, SignupInitial] '
        'state when successfully Signed up',
        setUp: () {
          when(signupRepositoryMock.createAccount(
                'Nevil',
                'abcd',
                'nikunj@gmail.com',
                'english',
              ),).thenAnswer((_) async  => Future<bool>.value(true));
        },
        build: () => SignUpBloc(signUpRepository: signupRepositoryMock),
        act: (SignUpBloc bloc) => bloc.add(
          const SignUpCreateAccount(
            'Nevil',
            'abcd',
            'nikunj@gmail.com',
            'english',
          ),
        ),
        expect: () => [
          SignUpCreateAccountLoading(),
          SignupInitial(),
        ],
      );
    });
  });
}

signup_repository.dart Это код репозитория регистрации.

      class SignUpRepository {
  Future<bool> createAccount(String _firstName, String _lastName, String _eMailAddress, String _language) async {
    final Response _response;
    try {
      _response = await CEApiRequest().post(
        Endpoints.createCustomerAPI,
        jsonData: <String, dynamic>{
          'firstName': _firstName,
          'lastName': _lastName,
          'email': _eMailAddress,
          'language': _language,
          'responseUrl': Endpoints.flutterAddress,
        },
      );

      final Map<String, dynamic> _customerMap = jsonDecode(_response.body);
      final CustomerModel _clients = CustomerModel.fromJson(_customerMap['data']);

      if (_clients.id != null) {
        return true;
      } else {
        return false;
      }
    } on KBMException catch (e) {
      final KBMException _exception = e;
      throw _exception;
    }
  }
}

Если у кого-то есть какие-либо идеи о том, что может быть проблемой здесь, пожалуйста, помогите!

0 ответов

Другие вопросы по тегам