// Mocks generated by Mockito 5.4.6 from annotations
// in unionflow_mobile_apps/test/features/contributions/domain/usecases/get_contribution_by_id_test.dart.
// Do not manually edit this file.

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

import 'package:mockito/mockito.dart' as _i1;
import 'package:unionflow_mobile_apps/features/contributions/data/models/contribution_model.dart'
    as _i3;
import 'package:unionflow_mobile_apps/features/contributions/data/repositories/contribution_repository.dart'
    as _i2;
import 'package:unionflow_mobile_apps/features/contributions/domain/repositories/contribution_repository.dart'
    as _i4;

// 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: deprecated_member_use
// ignore_for_file: deprecated_member_use_from_same_package
// ignore_for_file: implementation_imports
// ignore_for_file: invalid_use_of_visible_for_testing_member
// ignore_for_file: must_be_immutable
// ignore_for_file: prefer_const_constructors
// ignore_for_file: unnecessary_parenthesis
// ignore_for_file: camel_case_types
// ignore_for_file: subtype_of_sealed_class
// ignore_for_file: invalid_use_of_internal_member

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

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

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

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

  @override
  _i5.Future<_i2.ContributionPageResult> getMesCotisations({
    int? page = 0,
    int? size = 50,
  }) =>
      (super.noSuchMethod(
            Invocation.method(#getMesCotisations, [], {
              #page: page,
              #size: size,
            }),
            returnValue: _i5.Future<_i2.ContributionPageResult>.value(
              _FakeContributionPageResult_0(
                this,
                Invocation.method(#getMesCotisations, [], {
                  #page: page,
                  #size: size,
                }),
              ),
            ),
          )
          as _i5.Future<_i2.ContributionPageResult>);

  @override
  _i5.Future<_i3.ContributionModel> getCotisationById(String? id) =>
      (super.noSuchMethod(
            Invocation.method(#getCotisationById, [id]),
            returnValue: _i5.Future<_i3.ContributionModel>.value(
              _FakeContributionModel_1(
                this,
                Invocation.method(#getCotisationById, [id]),
              ),
            ),
          )
          as _i5.Future<_i3.ContributionModel>);

  @override
  _i5.Future<_i3.ContributionModel> createCotisation(
    _i3.ContributionModel? contribution,
  ) =>
      (super.noSuchMethod(
            Invocation.method(#createCotisation, [contribution]),
            returnValue: _i5.Future<_i3.ContributionModel>.value(
              _FakeContributionModel_1(
                this,
                Invocation.method(#createCotisation, [contribution]),
              ),
            ),
          )
          as _i5.Future<_i3.ContributionModel>);

  @override
  _i5.Future<_i3.ContributionModel> updateCotisation(
    String? id,
    _i3.ContributionModel? contribution,
  ) =>
      (super.noSuchMethod(
            Invocation.method(#updateCotisation, [id, contribution]),
            returnValue: _i5.Future<_i3.ContributionModel>.value(
              _FakeContributionModel_1(
                this,
                Invocation.method(#updateCotisation, [id, contribution]),
              ),
            ),
          )
          as _i5.Future<_i3.ContributionModel>);

  @override
  _i5.Future<void> deleteCotisation(String? id) =>
      (super.noSuchMethod(
            Invocation.method(#deleteCotisation, [id]),
            returnValue: _i5.Future<void>.value(),
            returnValueForMissingStub: _i5.Future<void>.value(),
          )
          as _i5.Future<void>);

  @override
  _i5.Future<_i3.ContributionModel> enregistrerPaiement(
    String? cotisationId, {
    required double? montant,
    required DateTime? datePaiement,
    required String? methodePaiement,
    String? numeroPaiement,
    String? referencePaiement,
  }) =>
      (super.noSuchMethod(
            Invocation.method(
              #enregistrerPaiement,
              [cotisationId],
              {
                #montant: montant,
                #datePaiement: datePaiement,
                #methodePaiement: methodePaiement,
                #numeroPaiement: numeroPaiement,
                #referencePaiement: referencePaiement,
              },
            ),
            returnValue: _i5.Future<_i3.ContributionModel>.value(
              _FakeContributionModel_1(
                this,
                Invocation.method(
                  #enregistrerPaiement,
                  [cotisationId],
                  {
                    #montant: montant,
                    #datePaiement: datePaiement,
                    #methodePaiement: methodePaiement,
                    #numeroPaiement: numeroPaiement,
                    #referencePaiement: referencePaiement,
                  },
                ),
              ),
            ),
          )
          as _i5.Future<_i3.ContributionModel>);

  @override
  _i5.Future<_i2.WavePaiementInitResult> initierPaiementEnLigne({
    required String? cotisationId,
    required String? methodePaiement,
    required String? numeroTelephone,
  }) =>
      (super.noSuchMethod(
            Invocation.method(#initierPaiementEnLigne, [], {
              #cotisationId: cotisationId,
              #methodePaiement: methodePaiement,
              #numeroTelephone: numeroTelephone,
            }),
            returnValue: _i5.Future<_i2.WavePaiementInitResult>.value(
              _FakeWavePaiementInitResult_2(
                this,
                Invocation.method(#initierPaiementEnLigne, [], {
                  #cotisationId: cotisationId,
                  #methodePaiement: methodePaiement,
                  #numeroTelephone: numeroTelephone,
                }),
              ),
            ),
          )
          as _i5.Future<_i2.WavePaiementInitResult>);

  @override
  _i5.Future<Map<String, dynamic>?> getMesCotisationsSynthese() =>
      (super.noSuchMethod(
            Invocation.method(#getMesCotisationsSynthese, []),
            returnValue: _i5.Future<Map<String, dynamic>?>.value(),
          )
          as _i5.Future<Map<String, dynamic>?>);

  @override
  _i5.Future<Map<String, dynamic>> getStatistiques() =>
      (super.noSuchMethod(
            Invocation.method(#getStatistiques, []),
            returnValue: _i5.Future<Map<String, dynamic>>.value(
              <String, dynamic>{},
            ),
          )
          as _i5.Future<Map<String, dynamic>>);

  @override
  _i5.Future<_i2.ContributionPageResult> getMesCotisationsEnAttente() =>
      (super.noSuchMethod(
            Invocation.method(#getMesCotisationsEnAttente, []),
            returnValue: _i5.Future<_i2.ContributionPageResult>.value(
              _FakeContributionPageResult_0(
                this,
                Invocation.method(#getMesCotisationsEnAttente, []),
              ),
            ),
          )
          as _i5.Future<_i2.ContributionPageResult>);

  @override
  _i5.Future<_i2.ContributionPageResult> getCotisations({
    int? page = 0,
    int? size = 20,
    String? membreId,
    String? statut,
    String? type,
    int? annee,
  }) =>
      (super.noSuchMethod(
            Invocation.method(#getCotisations, [], {
              #page: page,
              #size: size,
              #membreId: membreId,
              #statut: statut,
              #type: type,
              #annee: annee,
            }),
            returnValue: _i5.Future<_i2.ContributionPageResult>.value(
              _FakeContributionPageResult_0(
                this,
                Invocation.method(#getCotisations, [], {
                  #page: page,
                  #size: size,
                  #membreId: membreId,
                  #statut: statut,
                  #type: type,
                  #annee: annee,
                }),
              ),
            ),
          )
          as _i5.Future<_i2.ContributionPageResult>);

  @override
  _i5.Future<void> envoyerRappel(String? cotisationId) =>
      (super.noSuchMethod(
            Invocation.method(#envoyerRappel, [cotisationId]),
            returnValue: _i5.Future<void>.value(),
            returnValueForMissingStub: _i5.Future<void>.value(),
          )
          as _i5.Future<void>);

  @override
  _i5.Future<int> genererCotisationsAnnuelles(int? annee) =>
      (super.noSuchMethod(
            Invocation.method(#genererCotisationsAnnuelles, [annee]),
            returnValue: _i5.Future<int>.value(0),
          )
          as _i5.Future<int>);
}
