// Mocks generated by Mockito 5.4.6 from annotations
// in travel_mate/test/blocs/group_bloc_test.dart.
// Do not manually edit this file.

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

import 'package:mockito/mockito.dart' as _i1;
import 'package:mockito/src/dummies.dart' as _i6;
import 'package:travel_mate/models/group.dart' as _i4;
import 'package:travel_mate/models/group_member.dart' as _i5;
import 'package:travel_mate/repositories/group_repository.dart' as _i2;

// 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

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

  @override
  _i3.Future<String> createGroupWithMembers({
    required _i4.Group? group,
    required List<_i5.GroupMember>? members,
  }) =>
      (super.noSuchMethod(
            Invocation.method(#createGroupWithMembers, [], {
              #group: group,
              #members: members,
            }),
            returnValue: _i3.Future<String>.value(
              _i6.dummyValue<String>(
                this,
                Invocation.method(#createGroupWithMembers, [], {
                  #group: group,
                  #members: members,
                }),
              ),
            ),
          )
          as _i3.Future<String>);

  @override
  _i3.Stream<List<_i4.Group>> getGroupsByUserId(String? userId) =>
      (super.noSuchMethod(
            Invocation.method(#getGroupsByUserId, [userId]),
            returnValue: _i3.Stream<List<_i4.Group>>.empty(),
          )
          as _i3.Stream<List<_i4.Group>>);

  @override
  _i3.Future<_i4.Group?> getGroupById(String? groupId) =>
      (super.noSuchMethod(
            Invocation.method(#getGroupById, [groupId]),
            returnValue: _i3.Future<_i4.Group?>.value(),
          )
          as _i3.Future<_i4.Group?>);

  @override
  _i3.Future<_i4.Group?> getGroupByTripId(String? tripId) =>
      (super.noSuchMethod(
            Invocation.method(#getGroupByTripId, [tripId]),
            returnValue: _i3.Future<_i4.Group?>.value(),
          )
          as _i3.Future<_i4.Group?>);

  @override
  _i3.Future<List<_i5.GroupMember>> getGroupMembers(String? groupId) =>
      (super.noSuchMethod(
            Invocation.method(#getGroupMembers, [groupId]),
            returnValue: _i3.Future<List<_i5.GroupMember>>.value(
              <_i5.GroupMember>[],
            ),
          )
          as _i3.Future<List<_i5.GroupMember>>);

  @override
  _i3.Future<void> addMember(String? groupId, _i5.GroupMember? member) =>
      (super.noSuchMethod(
            Invocation.method(#addMember, [groupId, member]),
            returnValue: _i3.Future<void>.value(),
            returnValueForMissingStub: _i3.Future<void>.value(),
          )
          as _i3.Future<void>);

  @override
  _i3.Future<void> removeMember(String? groupId, String? userId) =>
      (super.noSuchMethod(
            Invocation.method(#removeMember, [groupId, userId]),
            returnValue: _i3.Future<void>.value(),
            returnValueForMissingStub: _i3.Future<void>.value(),
          )
          as _i3.Future<void>);

  @override
  _i3.Future<void> updateGroup(String? groupId, _i4.Group? group) =>
      (super.noSuchMethod(
            Invocation.method(#updateGroup, [groupId, group]),
            returnValue: _i3.Future<void>.value(),
            returnValueForMissingStub: _i3.Future<void>.value(),
          )
          as _i3.Future<void>);

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

  @override
  _i3.Stream<List<_i5.GroupMember>> watchGroupMembers(String? groupId) =>
      (super.noSuchMethod(
            Invocation.method(#watchGroupMembers, [groupId]),
            returnValue: _i3.Stream<List<_i5.GroupMember>>.empty(),
          )
          as _i3.Stream<List<_i5.GroupMember>>);
}
