Skip to content

Commit aa7a5c6

Browse files
committed
refactor:adding mock classes to test_utilities
1 parent 0abb746 commit aa7a5c6

6 files changed

Lines changed: 55 additions & 13 deletions

File tree

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,10 @@
1-
import 'dart:io';
21

32
import 'package:collaction_app/application/user/avatar/avatar_bloc.dart';
4-
import 'package:collaction_app/infrastructure/user/avatar_repository.dart';
5-
import 'package:mocktail/mocktail.dart';
63

7-
class MockAvatarRepo extends Mock implements AvatarRepository {}
4+
import '../../test_utilities.dart';
85

9-
class MockAvatarFile extends Mock implements File {}
10-
11-
final avatarRepo = MockAvatarRepo();
12-
final avatarRepo2 = MockAvatarRepo();
6+
final avatarRepo = MockAvatarRepository();
7+
final avatarRepo2 = MockAvatarRepository();
138
final tAvatarBloc = AvatarBloc(avatarRepo);
149
final tAvatarFile = MockAvatarFile();
1510
final tUri = Uri.parse('testAvatarUploadUri');

test/application/user/avatar_bloc_test.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import 'package:collaction_app/domain/user/upload_failures.dart';
44
import 'package:dartz/dartz.dart';
55
import 'package:flutter_test/flutter_test.dart';
66
import 'package:mocktail/mocktail.dart';
7-
7+
import '../../test_utilities.dart';
88
import 'avatar_bloc_fixtures.dart';
99

1010
void main() {
@@ -19,7 +19,7 @@ void main() {
1919
});
2020

2121
{
22-
final avatarRepo1 = MockAvatarRepo();
22+
final avatarRepo1 = MockAvatarRepository();
2323
when(() => avatarRepo1.getAvatarUploadPath()).thenAnswer(
2424
(_) => Future.value(
2525
left(const UploadPathFailure.unexpected()),
@@ -39,7 +39,7 @@ void main() {
3939
}
4040

4141
{
42-
final avatarRepo2 = MockAvatarRepo();
42+
final avatarRepo2 = MockAvatarRepository();
4343

4444
when(() => avatarRepo2.getAvatarUploadPath()).thenAnswer(
4545
(_) => Future.value(right(tUri)),
@@ -62,7 +62,7 @@ void main() {
6262
);
6363
}
6464
{
65-
final avatarRepo3 = MockAvatarRepo();
65+
final avatarRepo3 = MockAvatarRepository();
6666
when(() => avatarRepo3.getAvatarUploadPath()).thenAnswer(
6767
(_) => Future.value(right(tUri)),
6868
);
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import 'package:collaction_app/application/user/profile/profile_bloc.dart';
2+
import 'package:dartz/dartz.dart';
3+
import 'package:flutter_test/flutter_test.dart';
4+
import 'package:mocktail/mocktail.dart';
5+
6+
import 'profile_fixtures.dart';
7+
8+
void main() {
9+
group('Testing Profile BLoC initial state', () {
10+
test('Testing initial state', () {
11+
expect(tProfileBloc.state, ProfileState.initial());
12+
});
13+
14+
{
15+
final tProfileRepository1 = tProfileRepository;
16+
when(() => tProfileRepository1.getUserProfile()).thenAnswer(
17+
(_) => Future.value(right(tUserProfile)),
18+
);
19+
}
20+
});
21+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import 'package:collaction_app/application/user/profile/profile_bloc.dart';
2+
import 'package:collaction_app/domain/profile/profile.dart';
3+
import 'package:collaction_app/domain/profile/user_profile.dart';
4+
import 'package:collaction_app/domain/user/user.dart';
5+
6+
import '../../../test_utilities.dart';
7+
8+
final tProfileRepository = MockProfileRepository();
9+
final tAvatarRepository = MockAvatarRepository();
10+
const tUser = User(id: 'tId', getIdToken: getAnonymousIdToken);
11+
const tProfile = Profile(bio: 'tBio');
12+
const tUserProfile = UserProfile(user: tUser, profile: tProfile);
13+
final tProfileBloc = ProfileBloc(tProfileRepository, tAvatarRepository);

test/application/user_details/user_details_bloc_test.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ void main() {
1919
when(() => tUserRepo.observeUser()).thenAnswer((_) {
2020
final x = StreamController<User>();
2121
x.add(tUser);
22-
print('x.stream is User? ${x.stream.distinct() is Stream<User>}');
2322
return x.stream.distinct();
2423
});
2524

test/test_utilities.dart

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
1+
import 'dart:io';
2+
13
import 'package:collaction_app/domain/auth/i_auth_repository.dart';
24
import 'package:collaction_app/domain/contact_form/contact_form_dto.dart';
35
import 'package:collaction_app/domain/contact_form/i_contact_form_api.dart';
46
import 'package:collaction_app/domain/core/i_settings_repository.dart';
57
import 'package:collaction_app/domain/crowdaction/crowdaction.dart';
68
import 'package:collaction_app/domain/crowdaction/crowdaction_status.dart';
79
import 'package:collaction_app/domain/crowdaction/i_crowdaction_repository.dart';
10+
import 'package:collaction_app/domain/user/i_avatar_repository.dart';
11+
import 'package:collaction_app/domain/user/i_profile_repository.dart';
812
import 'package:collaction_app/domain/user/i_user_repository.dart';
913
import 'package:collaction_app/domain/user/user.dart';
1014
import 'package:dartz/dartz.dart';
@@ -24,6 +28,16 @@ class MockSettingsRepository extends Mock implements ISettingsRepository {}
2428

2529
class MockContactFormApi extends Mock implements IContactFormApi {}
2630

31+
class MockAvatarRepository extends Mock implements IAvatarRepository {}
32+
33+
class MockAvatarFile extends Mock implements File {}
34+
35+
class MockProfileRepository extends Mock implements IProfileRepository {}
36+
37+
// ignore: avoid_positional_boolean_parameters
38+
Future<String?> getAnonymousIdToken([bool forceRefresh = false]) =>
39+
Future.value(null);
40+
2741
// ignore: avoid_classes_with_only_static_members
2842
class TestUtilities {
2943
static void mockUser(Stream<User> userStream) {

0 commit comments

Comments
 (0)