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

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

import 'package:mockito/mockito.dart' as _i1;
import 'package:unionflow_mobile_apps/features/communication/domain/entities/contact_policy.dart'
    as _i4;
import 'package:unionflow_mobile_apps/features/communication/domain/entities/conversation.dart'
    as _i2;
import 'package:unionflow_mobile_apps/features/communication/domain/entities/message.dart'
    as _i3;
import 'package:unionflow_mobile_apps/features/communication/domain/repositories/messaging_repository.dart'
    as _i5;

// 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 _FakeConversation_0 extends _i1.SmartFake implements _i2.Conversation {
  _FakeConversation_0(Object parent, Invocation parentInvocation)
    : super(parent, parentInvocation);
}

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

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

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

  @override
  _i6.Future<List<_i2.ConversationSummary>> getMesConversations() =>
      (super.noSuchMethod(
            Invocation.method(#getMesConversations, []),
            returnValue: _i6.Future<List<_i2.ConversationSummary>>.value(
              <_i2.ConversationSummary>[],
            ),
          )
          as _i6.Future<List<_i2.ConversationSummary>>);

  @override
  _i6.Future<_i2.Conversation> getConversation(String? conversationId) =>
      (super.noSuchMethod(
            Invocation.method(#getConversation, [conversationId]),
            returnValue: _i6.Future<_i2.Conversation>.value(
              _FakeConversation_0(
                this,
                Invocation.method(#getConversation, [conversationId]),
              ),
            ),
          )
          as _i6.Future<_i2.Conversation>);

  @override
  _i6.Future<_i2.Conversation> demarrerConversationDirecte({
    required String? destinataireId,
    required String? organisationId,
    String? premierMessage,
  }) =>
      (super.noSuchMethod(
            Invocation.method(#demarrerConversationDirecte, [], {
              #destinataireId: destinataireId,
              #organisationId: organisationId,
              #premierMessage: premierMessage,
            }),
            returnValue: _i6.Future<_i2.Conversation>.value(
              _FakeConversation_0(
                this,
                Invocation.method(#demarrerConversationDirecte, [], {
                  #destinataireId: destinataireId,
                  #organisationId: organisationId,
                  #premierMessage: premierMessage,
                }),
              ),
            ),
          )
          as _i6.Future<_i2.Conversation>);

  @override
  _i6.Future<_i2.Conversation> demarrerConversationRole({
    required String? roleCible,
    required String? organisationId,
    String? premierMessage,
  }) =>
      (super.noSuchMethod(
            Invocation.method(#demarrerConversationRole, [], {
              #roleCible: roleCible,
              #organisationId: organisationId,
              #premierMessage: premierMessage,
            }),
            returnValue: _i6.Future<_i2.Conversation>.value(
              _FakeConversation_0(
                this,
                Invocation.method(#demarrerConversationRole, [], {
                  #roleCible: roleCible,
                  #organisationId: organisationId,
                  #premierMessage: premierMessage,
                }),
              ),
            ),
          )
          as _i6.Future<_i2.Conversation>);

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

  @override
  _i6.Future<_i3.Message> envoyerMessage(
    String? conversationId, {
    required String? typeMessage,
    String? contenu,
    String? urlFichier,
    int? dureeAudio,
    String? messageParentId,
  }) =>
      (super.noSuchMethod(
            Invocation.method(
              #envoyerMessage,
              [conversationId],
              {
                #typeMessage: typeMessage,
                #contenu: contenu,
                #urlFichier: urlFichier,
                #dureeAudio: dureeAudio,
                #messageParentId: messageParentId,
              },
            ),
            returnValue: _i6.Future<_i3.Message>.value(
              _FakeMessage_1(
                this,
                Invocation.method(
                  #envoyerMessage,
                  [conversationId],
                  {
                    #typeMessage: typeMessage,
                    #contenu: contenu,
                    #urlFichier: urlFichier,
                    #dureeAudio: dureeAudio,
                    #messageParentId: messageParentId,
                  },
                ),
              ),
            ),
          )
          as _i6.Future<_i3.Message>);

  @override
  _i6.Future<List<_i3.Message>> getMessages(
    String? conversationId, {
    int? page = 0,
  }) =>
      (super.noSuchMethod(
            Invocation.method(#getMessages, [conversationId], {#page: page}),
            returnValue: _i6.Future<List<_i3.Message>>.value(<_i3.Message>[]),
          )
          as _i6.Future<List<_i3.Message>>);

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

  @override
  _i6.Future<void> supprimerMessage(
    String? conversationId,
    String? messageId,
  ) =>
      (super.noSuchMethod(
            Invocation.method(#supprimerMessage, [conversationId, messageId]),
            returnValue: _i6.Future<void>.value(),
            returnValueForMissingStub: _i6.Future<void>.value(),
          )
          as _i6.Future<void>);

  @override
  _i6.Future<void> bloquerMembre({
    required String? membreABloquerId,
    String? organisationId,
    String? raison,
  }) =>
      (super.noSuchMethod(
            Invocation.method(#bloquerMembre, [], {
              #membreABloquerId: membreABloquerId,
              #organisationId: organisationId,
              #raison: raison,
            }),
            returnValue: _i6.Future<void>.value(),
            returnValueForMissingStub: _i6.Future<void>.value(),
          )
          as _i6.Future<void>);

  @override
  _i6.Future<void> debloquerMembre(
    String? membreId, {
    String? organisationId,
  }) =>
      (super.noSuchMethod(
            Invocation.method(
              #debloquerMembre,
              [membreId],
              {#organisationId: organisationId},
            ),
            returnValue: _i6.Future<void>.value(),
            returnValueForMissingStub: _i6.Future<void>.value(),
          )
          as _i6.Future<void>);

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

  @override
  _i6.Future<_i4.ContactPolicy> getPolitique(String? organisationId) =>
      (super.noSuchMethod(
            Invocation.method(#getPolitique, [organisationId]),
            returnValue: _i6.Future<_i4.ContactPolicy>.value(
              _FakeContactPolicy_2(
                this,
                Invocation.method(#getPolitique, [organisationId]),
              ),
            ),
          )
          as _i6.Future<_i4.ContactPolicy>);

  @override
  _i6.Future<_i4.ContactPolicy> mettreAJourPolitique(
    String? organisationId, {
    required String? typePolitique,
    required bool? autoriserMembreVersMembre,
    required bool? autoriserMembreVersRole,
    required bool? autoriserNotesVocales,
  }) =>
      (super.noSuchMethod(
            Invocation.method(
              #mettreAJourPolitique,
              [organisationId],
              {
                #typePolitique: typePolitique,
                #autoriserMembreVersMembre: autoriserMembreVersMembre,
                #autoriserMembreVersRole: autoriserMembreVersRole,
                #autoriserNotesVocales: autoriserNotesVocales,
              },
            ),
            returnValue: _i6.Future<_i4.ContactPolicy>.value(
              _FakeContactPolicy_2(
                this,
                Invocation.method(
                  #mettreAJourPolitique,
                  [organisationId],
                  {
                    #typePolitique: typePolitique,
                    #autoriserMembreVersMembre: autoriserMembreVersMembre,
                    #autoriserMembreVersRole: autoriserMembreVersRole,
                    #autoriserNotesVocales: autoriserNotesVocales,
                  },
                ),
              ),
            ),
          )
          as _i6.Future<_i4.ContactPolicy>);
}
