feat: Introduce comprehensive unit tests for models and BLoCs using mockito and bloc_test, and refine TripBloc error handling.
Some checks failed
Deploy to Play Store / build_and_deploy (push) Has been cancelled

This commit is contained in:
Van Leemput Dayron
2025-12-05 11:55:20 +01:00
parent 9b11836409
commit cac0770467
17 changed files with 1608 additions and 48 deletions

View File

@@ -0,0 +1,135 @@
// 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>>);
}