// Mocks generated by Mockito 5.3.0 from annotations
// in fl_query/test/query_test.dart.
// Do not manually edit this file.

// ignore_for_file: no_leading_underscores_for_library_prefixes
import 'dart:async' as _i4;

import 'package:connectivity_plus/connectivity_plus.dart' as _i6;
import 'package:fl_query/fl_query.dart' as _i3;
import 'package:fl_query/src/query_cache.dart' as _i2;
import 'package:flutter/cupertino.dart' as _i5;
import 'package:mockito/mockito.dart' as _i1;

// ignore_for_file: type=lint
// ignore_for_file: avoid_redundant_argument_values
// ignore_for_file: avoid_setters_without_getters
// ignore_for_file: comment_references
// ignore_for_file: implementation_imports
// ignore_for_file: invalid_use_of_visible_for_testing_member
// ignore_for_file: prefer_const_constructors
// ignore_for_file: unnecessary_parenthesis
// ignore_for_file: camel_case_types
// ignore_for_file: subtype_of_sealed_class

class _FakeDuration_0 extends _i1.SmartFake implements Duration {
  _FakeDuration_0(Object parent, Invocation parentInvocation)
      : super(parent, parentInvocation);
}

class _FakeQueryCache_1 extends _i1.SmartFake implements _i2.QueryCache {
  _FakeQueryCache_1(Object parent, Invocation parentInvocation)
      : super(parent, parentInvocation);
}

class _FakeQuery_2<T extends Object, Outside> extends _i1.SmartFake
    implements _i3.Query<T, Outside> {
  _FakeQuery_2(Object parent, Invocation parentInvocation)
      : super(parent, parentInvocation);
}

class _FakeInfiniteQuery_3<T extends Object, Outside, PageParam extends Object>
    extends _i1.SmartFake implements _i3.InfiniteQuery<T, Outside, PageParam> {
  _FakeInfiniteQuery_3(Object parent, Invocation parentInvocation)
      : super(parent, parentInvocation);
}

class _FakeMutation_4<T extends Object, V> extends _i1.SmartFake
    implements _i3.Mutation<T, V> {
  _FakeMutation_4(Object parent, Invocation parentInvocation)
      : super(parent, parentInvocation);
}

class _FakeObject_5 extends _i1.SmartFake implements Object {
  _FakeObject_5(Object parent, Invocation parentInvocation)
      : super(parent, parentInvocation);
}

/// A class which mocks [QueryBowl].
///
/// See the documentation for Mockito's code generation for more information.
class MockQueryBowl extends _i1.Mock implements _i3.QueryBowl {
  MockQueryBowl() {
    _i1.throwOnMissingStub(this);
  }

  @override
  Duration get staleTime => (super.noSuchMethod(Invocation.getter(#staleTime),
          returnValue: _FakeDuration_0(this, Invocation.getter(#staleTime)))
      as Duration);
  @override
  bool get refetchOnMount => (super
          .noSuchMethod(Invocation.getter(#refetchOnMount), returnValue: false)
      as bool);
  @override
  bool get refetchOnWindowFocus =>
      (super.noSuchMethod(Invocation.getter(#refetchOnWindowFocus),
          returnValue: false) as bool);
  @override
  bool get refetchOnApplicationResume =>
      (super.noSuchMethod(Invocation.getter(#refetchOnApplicationResume),
          returnValue: false) as bool);
  @override
  bool get refetchOnReconnect =>
      (super.noSuchMethod(Invocation.getter(#refetchOnReconnect),
          returnValue: false) as bool);
  @override
  Duration get refetchOnReconnectDelay =>
      (super.noSuchMethod(Invocation.getter(#refetchOnReconnectDelay),
          returnValue: _FakeDuration_0(
              this, Invocation.getter(#refetchOnReconnectDelay))) as Duration);
  @override
  bool get refetchOnExternalDataChange =>
      (super.noSuchMethod(Invocation.getter(#refetchOnExternalDataChange),
          returnValue: false) as bool);
  @override
  Duration get refetchInterval =>
      (super.noSuchMethod(Invocation.getter(#refetchInterval),
              returnValue:
                  _FakeDuration_0(this, Invocation.getter(#refetchInterval)))
          as Duration);
  @override
  _i2.QueryCache get cache => (super.noSuchMethod(Invocation.getter(#cache),
          returnValue: _FakeQueryCache_1(this, Invocation.getter(#cache)))
      as _i2.QueryCache);
  @override
  set cache(_i2.QueryCache? _cache) =>
      super.noSuchMethod(Invocation.setter(#cache, _cache),
          returnValueForMissingStub: null);
  @override
  int get isFetching =>
      (super.noSuchMethod(Invocation.getter(#isFetching), returnValue: 0)
          as int);
  @override
  int get isMutating =>
      (super.noSuchMethod(Invocation.getter(#isMutating), returnValue: 0)
          as int);
  @override
  void onQueriesUpdate<T extends Object, Outside>(
          void Function(_i3.Query<T, Outside>)? listener) =>
      super.noSuchMethod(Invocation.method(#onQueriesUpdate, [listener]),
          returnValueForMissingStub: null);
  @override
  void onMutationsUpdate<T extends Object, Outside>(
          void Function(_i3.Mutation<T, Outside>)? listener) =>
      super.noSuchMethod(Invocation.method(#onMutationsUpdate, [listener]),
          returnValueForMissingStub: null);
  @override
  void onInfiniteQueriesUpdate<T extends Object, Outside,
              PageParam extends Object>(
          void Function(_i3.InfiniteQuery<T, Outside, PageParam>)? listener) =>
      super.noSuchMethod(
          Invocation.method(#onInfiniteQueriesUpdate, [listener]),
          returnValueForMissingStub: null);
  @override
  _i3.InfiniteQuery<T, Outside, PageParam>?
      getInfiniteQuery<T extends Object, Outside, PageParam extends Object>(
              String? queryKey) =>
          (super.noSuchMethod(Invocation.method(#getInfiniteQuery, [queryKey]))
              as _i3.InfiniteQuery<T, Outside, PageParam>?);
  @override
  _i3.Query<T, Outside>? getQuery<T extends Object, Outside>(
          String? queryKey) =>
      (super.noSuchMethod(Invocation.method(#getQuery, [queryKey]))
          as _i3.Query<T, Outside>?);
  @override
  _i3.Mutation<T, V>? getMutation<T extends Object, V>(String? mutationKey) =>
      (super.noSuchMethod(Invocation.method(#getMutation, [mutationKey]))
          as _i3.Mutation<T, V>?);
  @override
  void setQueryData<T extends Object, Outside>(
          String? queryKey, _i3.QueryUpdateFunction<T>? updateCb) =>
      super.noSuchMethod(Invocation.method(#setQueryData, [queryKey, updateCb]),
          returnValueForMissingStub: null);
  @override
  void
      setInfiniteQueryData<T extends Object, Outside, PageParam extends Object>(
              String? queryKey,
              _i3.QueryUpdateFunction<Map<PageParam, T?>>? updateCb) =>
          super.noSuchMethod(
              Invocation.method(#setInfiniteQueryData, [queryKey, updateCb]),
              returnValueForMissingStub: null);
  @override
  void resetQueries(List<String>? queryKeys) =>
      super.noSuchMethod(Invocation.method(#resetQueries, [queryKeys]),
          returnValueForMissingStub: null);
  @override
  void invalidateQueries(List<String>? queryKeys) =>
      super.noSuchMethod(Invocation.method(#invalidateQueries, [queryKeys]),
          returnValueForMissingStub: null);
  @override
  _i4.Future<void> refetchQueries(List<String>? queryKeys) =>
      (super.noSuchMethod(Invocation.method(#refetchQueries, [queryKeys]),
              returnValue: _i4.Future<void>.value(),
              returnValueForMissingStub: _i4.Future<void>.value())
          as _i4.Future<void>);
  @override
  int removeQueries(List<String>? queryKeys) =>
      (super.noSuchMethod(Invocation.method(#removeQueries, [queryKeys]),
          returnValue: 0) as int);
  @override
  _i3.Query<T, Outside> addQuery<T extends Object, Outside>(
          _i3.QueryJob<T, Outside>? queryJob,
          {Outside? externalData,
          _i5.ValueKey<String>? key,
          _i3.QueryListener<T>? onData,
          _i3.QueryListener<dynamic>? onError,
          T? previousData}) =>
      (super.noSuchMethod(
          Invocation.method(#addQuery, [
            queryJob
          ], {
            #externalData: externalData,
            #key: key,
            #onData: onData,
            #onError: onError,
            #previousData: previousData
          }),
          returnValue: _FakeQuery_2<T, Outside>(
              this,
              Invocation.method(#addQuery, [
                queryJob
              ], {
                #externalData: externalData,
                #key: key,
                #onData: onData,
                #onError: onError,
                #previousData: previousData
              }))) as _i3.Query<T, Outside>);
  @override
  _i3.InfiniteQuery<T, Outside, PageParam> addInfiniteQuery<T extends Object, Outside, PageParam extends Object>(
          _i3.InfiniteQueryJob<T, Outside, PageParam>? infiniteQueryJob,
          {Outside? externalData,
          _i5.ValueKey<String>? key,
          _i3.InfiniteQueryListeners<T, PageParam>? onData,
          _i3.InfiniteQueryListeners<dynamic, PageParam>? onError}) =>
      (super.noSuchMethod(Invocation.method(#addInfiniteQuery, [infiniteQueryJob], {#externalData: externalData, #key: key, #onData: onData, #onError: onError}),
          returnValue: _FakeInfiniteQuery_3<T, Outside, PageParam>(
              this,
              Invocation.method(#addInfiniteQuery, [
                infiniteQueryJob
              ], {
                #externalData: externalData,
                #key: key,
                #onData: onData,
                #onError: onError
              }))) as _i3.InfiniteQuery<T, Outside, PageParam>);
  @override
  _i3.Mutation<T, V> addMutation<T extends Object, V>(
          _i3.MutationJob<T, V>? mutationJob,
          {_i3.MutationListener<T, V>? onData,
          _i3.MutationListener<dynamic, V>? onError,
          _i3.MutationListenerReturnable<V, dynamic>? onMutate,
          _i5.ValueKey<String>? key}) =>
      (super
          .noSuchMethod(Invocation.method(#addMutation, [mutationJob], {#onData: onData, #onError: onError, #onMutate: onMutate, #key: key}),
              returnValue: _FakeMutation_4<T, V>(
                  this,
                  Invocation.method(#addMutation, [
                    mutationJob
                  ], {
                    #onData: onData,
                    #onError: onError,
                    #onMutate: onMutate,
                    #key: key
                  }))) as _i3.Mutation<T, V>);
  @override
  _i4.Future<T?> fetchQuery<T extends Object, Outside>(
          _i3.QueryJob<T, Outside>? options,
          {Outside? externalData,
          _i3.QueryListener<T>? onData,
          _i3.QueryListener<dynamic>? onError,
          _i5.ValueKey<String>? key}) =>
      (super.noSuchMethod(
          Invocation.method(#fetchQuery, [
            options
          ], {
            #externalData: externalData,
            #onData: onData,
            #onError: onError,
            #key: key
          }),
          returnValue: _i4.Future<T?>.value()) as _i4.Future<T?>);
}

/// A class which mocks [Connectivity].
///
/// See the documentation for Mockito's code generation for more information.
class MockConnectivity extends _i1.Mock implements _i6.Connectivity {
  MockConnectivity() {
    _i1.throwOnMissingStub(this);
  }

  @override
  _i4.Stream<_i6.ConnectivityResult> get onConnectivityChanged =>
      (super.noSuchMethod(Invocation.getter(#onConnectivityChanged),
              returnValue: _i4.Stream<_i6.ConnectivityResult>.empty())
          as _i4.Stream<_i6.ConnectivityResult>);
  @override
  _i4.Future<_i6.ConnectivityResult> checkConnectivity() =>
      (super.noSuchMethod(Invocation.method(#checkConnectivity, []),
              returnValue: _i4.Future<_i6.ConnectivityResult>.value(
                  _i6.ConnectivityResult.bluetooth))
          as _i4.Future<_i6.ConnectivityResult>);
}

/// A class which mocks [QueryJob].
///
/// See the documentation for Mockito's code generation for more information.
class MockQueryJobVoidObject extends _i1.Mock
    implements _i3.QueryJob<Object, void> {
  @override
  _i3.QueryTaskFunction<Object, void> get task =>
      (super.noSuchMethod(Invocation.getter(#task),
              returnValue: (String queryKey, void externalData) =>
                  _i4.Future<Object>.value(
                      _FakeObject_5(this, Invocation.getter(#task))))
          as _i3.QueryTaskFunction<Object, void>);
  @override
  set task(_i3.QueryTaskFunction<Object, void>? _task) =>
      super.noSuchMethod(Invocation.setter(#task, _task),
          returnValueForMissingStub: null);
  @override
  set initialData(Object? _initialData) =>
      super.noSuchMethod(Invocation.setter(#initialData, _initialData),
          returnValueForMissingStub: null);
  @override
  bool get isDynamic =>
      (super.noSuchMethod(Invocation.getter(#isDynamic), returnValue: false)
          as bool);
  @override
  set isDynamic(bool? _isDynamic) =>
      super.noSuchMethod(Invocation.setter(#isDynamic, _isDynamic),
          returnValueForMissingStub: null);
  @override
  String get queryKey =>
      (super.noSuchMethod(Invocation.getter(#queryKey), returnValue: '')
          as String);
}
