Skip to content

Commit 86453b3

Browse files
feat: Add fix failing tests
1 parent 5d371c2 commit 86453b3

File tree

8 files changed

+540
-287
lines changed

8 files changed

+540
-287
lines changed

example/pubspec.lock

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ packages:
55
dependency: transitive
66
description:
77
name: async
8-
sha256: d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63
8+
sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb"
99
url: "https://pub.dev"
1010
source: hosted
11-
version: "2.12.0"
11+
version: "2.13.0"
1212
boolean_selector:
1313
dependency: transitive
1414
description:
@@ -69,10 +69,10 @@ packages:
6969
dependency: transitive
7070
description:
7171
name: fake_async
72-
sha256: "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc"
72+
sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44"
7373
url: "https://pub.dev"
7474
source: hosted
75-
version: "1.3.2"
75+
version: "1.3.3"
7676
flutter:
7777
dependency: "direct main"
7878
description: flutter
@@ -103,10 +103,10 @@ packages:
103103
dependency: transitive
104104
description:
105105
name: leak_tracker
106-
sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec
106+
sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0"
107107
url: "https://pub.dev"
108108
source: hosted
109-
version: "10.0.8"
109+
version: "10.0.9"
110110
leak_tracker_flutter_testing:
111111
dependency: transitive
112112
description:
@@ -251,10 +251,10 @@ packages:
251251
dependency: transitive
252252
description:
253253
name: vm_service
254-
sha256: "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14"
254+
sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02
255255
url: "https://pub.dev"
256256
source: hosted
257-
version: "14.3.1"
257+
version: "15.0.0"
258258
web:
259259
dependency: transitive
260260
description:

pubspec.lock

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,10 @@ packages:
2929
dependency: transitive
3030
description:
3131
name: async
32-
sha256: d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63
32+
sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb"
3333
url: "https://pub.dev"
3434
source: hosted
35-
version: "2.12.0"
35+
version: "2.13.0"
3636
boolean_selector:
3737
dependency: transitive
3838
description:
@@ -189,10 +189,10 @@ packages:
189189
dependency: transitive
190190
description:
191191
name: fake_async
192-
sha256: "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc"
192+
sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44"
193193
url: "https://pub.dev"
194194
source: hosted
195-
version: "1.3.2"
195+
version: "1.3.3"
196196
file:
197197
dependency: transitive
198198
description:
@@ -311,10 +311,10 @@ packages:
311311
dependency: transitive
312312
description:
313313
name: leak_tracker
314-
sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec
314+
sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0"
315315
url: "https://pub.dev"
316316
source: hosted
317-
version: "10.0.8"
317+
version: "10.0.9"
318318
leak_tracker_flutter_testing:
319319
dependency: transitive
320320
description:
@@ -556,10 +556,10 @@ packages:
556556
dependency: transitive
557557
description:
558558
name: vm_service
559-
sha256: "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14"
559+
sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02
560560
url: "https://pub.dev"
561561
source: hosted
562-
version: "14.3.1"
562+
version: "15.0.0"
563563
watcher:
564564
dependency: transitive
565565
description:

test/data/siren_data_provider_test.dart

Lines changed: 35 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,38 @@ import 'package:sirenapp_flutter_inbox/sirenapp_flutter_inbox.dart';
55
import 'package:sirenapp_flutter_inbox/src/api/verify_token.dart';
66
import 'package:sirenapp_flutter_inbox/src/constants/generics.dart';
77
import 'package:sirenapp_flutter_inbox/src/data/siren_data_provider.dart';
8+
import 'package:sirenapp_flutter_inbox/src/models/api_response.dart';
9+
import 'package:sirenapp_flutter_inbox/src/services/api_client.dart';
810

911
import 'siren_data_provider_test.mocks.dart';
1012

1113
@GenerateNiceMocks([
12-
MockSpec<VerifyToken>(),
14+
MockSpec<ApiClient>(),
1315
])
1416
void main() {
17+
TestWidgetsFlutterBinding.ensureInitialized();
18+
1519
late SirenDataProvider sirenDataProvider;
16-
late MockVerifyToken mockVerifyToken;
20+
late MockApiClient mockApiClient;
1721

1822
setUp(() {
19-
sirenDataProvider = SirenDataProvider.instance..initialize();
20-
mockVerifyToken = MockVerifyToken();
23+
mockApiClient = MockApiClient();
24+
sirenDataProvider = SirenDataProvider.instance;
25+
VerifyToken().api = mockApiClient;
26+
sirenDataProvider.initialize();
2127
});
2228

2329
group('SirenDataProvider', () {
2430
test('UpdateParams updates user token and recipient ID', () async {
31+
when(mockApiClient.get(path: anyNamed('path'))).thenAnswer(
32+
(_) async => DioResponse(
33+
data: {
34+
'data': {'status': 'SUCCESS'}
35+
},
36+
statusCode: 200,
37+
),
38+
);
39+
2540
sirenDataProvider.updateParams(
2641
userToken: 'token',
2742
recipientId: 'recipientId',
@@ -32,25 +47,31 @@ void main() {
3247
});
3348

3449
test('IconDispose closes icon controller', () {
50+
final controller = sirenDataProvider.iconController;
3551
sirenDataProvider.iconDispose();
36-
37-
expect(sirenDataProvider.iconController.isClosed, false);
52+
expect(controller.isClosed, true);
3853
});
3954

4055
test('InboxDispose closes inbox controller', () {
56+
final controller = sirenDataProvider.inboxController;
4157
sirenDataProvider.inboxDispose();
42-
43-
expect(sirenDataProvider.inboxController.isClosed, false);
58+
expect(controller.isClosed, true);
4459
});
4560

4661
test('Handles retry logic on token verification failure', () async {
47-
final failedResponse = ApiResponse(data: false);
48-
when(mockVerifyToken.verifyToken())
49-
.thenAnswer((_) async => failedResponse);
50-
51-
await sirenDataProvider.initialize();
62+
when(mockApiClient.get(path: anyNamed('path'))).thenAnswer(
63+
(_) async => DioResponse(
64+
data: {
65+
'data': {'status': 'FAILED'}
66+
},
67+
statusCode: 401,
68+
),
69+
);
5270

53-
sirenDataProvider.updateParams(userToken: 'token', recipientId: '123');
71+
sirenDataProvider.updateParams(
72+
userToken: 'token',
73+
recipientId: 'recipientId',
74+
);
5475

5576
await Future<void>.delayed(
5677
const Duration(seconds: Generics.DATA_FETCH_INTERVAL) *

0 commit comments

Comments
 (0)