Skip to content

Commit ff32e13

Browse files
committed
upgrade to firebase_database 9.0.3
1 parent de5a3bd commit ff32e13

File tree

7 files changed

+141
-85
lines changed

7 files changed

+141
-85
lines changed

example/example.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@ class UserRepository {
99
Future<String?> getUserName(String userId) async {
1010
final userNameReference =
1111
firebaseDatabase.reference().child('users').child(userId).child('name');
12-
final dataSnapshot = await userNameReference.once();
13-
return dataSnapshot.value;
12+
final databaseEvent = await userNameReference.once();
13+
return databaseEvent.snapshot.value as String?;
1414
}
1515

1616
Future<Map<String, dynamic>?> getUser(String userId) async {
1717
final userNode = firebaseDatabase.reference().child('users/$userId');
18-
final dataSnapshot = await userNode.once();
19-
return dataSnapshot.value;
18+
final databaseEvent = await userNode.once();
19+
return databaseEvent.snapshot.value as Map<String, dynamic>?;
2020
}
2121
}
2222

lib/src/mock_database_event.dart

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import 'package:firebase_database/firebase_database.dart';
2+
import 'package:mockito/mockito.dart';
3+
4+
class MockDatabaseEvent extends Mock implements DatabaseEvent {
5+
final DataSnapshot _snapshot;
6+
7+
MockDatabaseEvent(this._snapshot);
8+
9+
@override
10+
DataSnapshot get snapshot => _snapshot;
11+
12+
@override
13+
DatabaseEventType get type => DatabaseEventType.value;
14+
}

lib/src/mock_database_reference.dart

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import 'package:firebase_database/firebase_database.dart';
2+
import 'package:firebase_database_mocks/src/mock_database_event.dart';
23
import 'package:mockito/mockito.dart';
34

45
import 'mock_data_snapshot.dart';
@@ -13,10 +14,10 @@ class MockDatabaseReference extends Mock implements DatabaseReference {
1314
MockDatabaseReference._(nodePath, [this._volatileData]) {
1415
_nodePath += nodePath;
1516
}
16-
// TODO implement real [onchange] (may yield each change).
17-
Stream<Event> get onValue async* {
18-
final data = await once();
19-
yield MockEvent._(data.value);
17+
18+
/// TODO implement real [onchange] (should yield each change).
19+
Stream<DatabaseEvent> get onValue async* {
20+
yield await once();
2021
}
2122

2223
Map<String, dynamic>? get _data {
@@ -122,7 +123,10 @@ class MockDatabaseReference extends Mock implements DatabaseReference {
122123
}
123124

124125
@override
125-
Future<DataSnapshot> once() {
126+
127+
/// __WARNING!__ For now only the DatabaseEventType.value event is supported.
128+
Future<DatabaseEvent> once(
129+
[DatabaseEventType eventType = DatabaseEventType.value]) {
126130
var tempData = _data;
127131
// remove start and end slashes.
128132
var nodePath = _nodePath.substring(1, _nodePath.length - 1);
@@ -139,7 +143,8 @@ class MockDatabaseReference extends Mock implements DatabaseReference {
139143
}
140144
}
141145
}
142-
return Future.value(MockDataSnapshot(tempData![nodePath]));
146+
return Future.value(
147+
MockDatabaseEvent(MockDataSnapshot(tempData![nodePath])));
143148
}
144149
}
145150

@@ -152,11 +157,6 @@ class _Int {
152157
}
153158
}
154159

155-
class MockEvent extends Mock implements Event {
156-
MockEvent._(data) : snapshot = MockDataSnapshot(data);
157-
158-
final DataSnapshot snapshot;
159-
}
160160

161161
// Map<String, dynamic> _makeSupportGenericValue(Map<String, dynamic> data) {
162162
// var _dataWithGenericValue = {'__generic_mock_data_value__': Object()};

pubspec.lock

Lines changed: 53 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -7,28 +7,28 @@ packages:
77
name: _fe_analyzer_shared
88
url: "https://pub.dartlang.org"
99
source: hosted
10-
version: "22.0.0"
10+
version: "31.0.0"
1111
analyzer:
1212
dependency: transitive
1313
description:
1414
name: analyzer
1515
url: "https://pub.dartlang.org"
1616
source: hosted
17-
version: "1.7.1"
17+
version: "2.8.0"
1818
args:
1919
dependency: transitive
2020
description:
2121
name: args
2222
url: "https://pub.dartlang.org"
2323
source: hosted
24-
version: "2.2.0"
24+
version: "2.3.0"
2525
async:
2626
dependency: transitive
2727
description:
2828
name: async
2929
url: "https://pub.dartlang.org"
3030
source: hosted
31-
version: "2.6.1"
31+
version: "2.8.1"
3232
boolean_selector:
3333
dependency: transitive
3434
description:
@@ -42,7 +42,7 @@ packages:
4242
name: build
4343
url: "https://pub.dartlang.org"
4444
source: hosted
45-
version: "2.1.0"
45+
version: "2.1.1"
4646
built_collection:
4747
dependency: transitive
4848
description:
@@ -56,7 +56,7 @@ packages:
5656
name: built_value
5757
url: "https://pub.dartlang.org"
5858
source: hosted
59-
version: "8.1.2"
59+
version: "8.1.3"
6060
characters:
6161
dependency: transitive
6262
description:
@@ -70,14 +70,14 @@ packages:
7070
name: charcode
7171
url: "https://pub.dartlang.org"
7272
source: hosted
73-
version: "1.2.0"
73+
version: "1.3.1"
7474
cli_util:
7575
dependency: transitive
7676
description:
7777
name: cli_util
7878
url: "https://pub.dartlang.org"
7979
source: hosted
80-
version: "0.3.3"
80+
version: "0.3.5"
8181
clock:
8282
dependency: transitive
8383
description:
@@ -119,7 +119,7 @@ packages:
119119
name: dart_style
120120
url: "https://pub.dartlang.org"
121121
source: hosted
122-
version: "2.0.3"
122+
version: "2.2.0"
123123
fake_async:
124124
dependency: transitive
125125
description:
@@ -140,28 +140,42 @@ packages:
140140
name: firebase_core
141141
url: "https://pub.dartlang.org"
142142
source: hosted
143-
version: "1.6.0"
143+
version: "1.10.5"
144144
firebase_core_platform_interface:
145145
dependency: "direct main"
146146
description:
147147
name: firebase_core_platform_interface
148148
url: "https://pub.dartlang.org"
149149
source: hosted
150-
version: "4.0.1"
150+
version: "4.2.2"
151151
firebase_core_web:
152152
dependency: transitive
153153
description:
154154
name: firebase_core_web
155155
url: "https://pub.dartlang.org"
156156
source: hosted
157-
version: "1.1.0"
157+
version: "1.5.2"
158158
firebase_database:
159159
dependency: "direct main"
160160
description:
161161
name: firebase_database
162162
url: "https://pub.dartlang.org"
163163
source: hosted
164-
version: "7.2.1"
164+
version: "9.0.3"
165+
firebase_database_platform_interface:
166+
dependency: transitive
167+
description:
168+
name: firebase_database_platform_interface
169+
url: "https://pub.dartlang.org"
170+
source: hosted
171+
version: "0.2.0+2"
172+
firebase_database_web:
173+
dependency: transitive
174+
description:
175+
name: firebase_database_web
176+
url: "https://pub.dartlang.org"
177+
source: hosted
178+
version: "0.2.0+2"
165179
fixnum:
166180
dependency: transitive
167181
description:
@@ -174,6 +188,13 @@ packages:
174188
description: flutter
175189
source: sdk
176190
version: "0.0.0"
191+
flutter_lints:
192+
dependency: "direct main"
193+
description:
194+
name: flutter_lints
195+
url: "https://pub.dartlang.org"
196+
source: hosted
197+
version: "1.0.4"
177198
flutter_test:
178199
dependency: "direct main"
179200
description: flutter
@@ -190,21 +211,28 @@ packages:
190211
name: glob
191212
url: "https://pub.dartlang.org"
192213
source: hosted
193-
version: "2.0.1"
214+
version: "2.0.2"
194215
js:
195216
dependency: transitive
196217
description:
197218
name: js
198219
url: "https://pub.dartlang.org"
199220
source: hosted
200221
version: "0.6.3"
222+
lints:
223+
dependency: transitive
224+
description:
225+
name: lints
226+
url: "https://pub.dartlang.org"
227+
source: hosted
228+
version: "1.0.1"
201229
logging:
202230
dependency: transitive
203231
description:
204232
name: logging
205233
url: "https://pub.dartlang.org"
206234
source: hosted
207-
version: "1.0.1"
235+
version: "1.0.2"
208236
matcher:
209237
dependency: transitive
210238
description:
@@ -218,49 +246,42 @@ packages:
218246
name: meta
219247
url: "https://pub.dartlang.org"
220248
source: hosted
221-
version: "1.3.0"
249+
version: "1.7.0"
222250
mockito:
223251
dependency: "direct main"
224252
description:
225253
name: mockito
226254
url: "https://pub.dartlang.org"
227255
source: hosted
228-
version: "5.0.15"
256+
version: "5.0.16"
229257
package_config:
230258
dependency: transitive
231259
description:
232260
name: package_config
233261
url: "https://pub.dartlang.org"
234262
source: hosted
235-
version: "2.0.0"
263+
version: "2.0.2"
236264
path:
237265
dependency: transitive
238266
description:
239267
name: path
240268
url: "https://pub.dartlang.org"
241269
source: hosted
242270
version: "1.8.0"
243-
pedantic:
244-
dependency: "direct main"
245-
description:
246-
name: pedantic
247-
url: "https://pub.dartlang.org"
248-
source: hosted
249-
version: "1.11.1"
250271
plugin_platform_interface:
251272
dependency: transitive
252273
description:
253274
name: plugin_platform_interface
254275
url: "https://pub.dartlang.org"
255276
source: hosted
256-
version: "2.0.1"
277+
version: "2.0.2"
257278
pub_semver:
258279
dependency: transitive
259280
description:
260281
name: pub_semver
261282
url: "https://pub.dartlang.org"
262283
source: hosted
263-
version: "2.0.0"
284+
version: "2.1.0"
264285
sky_engine:
265286
dependency: transitive
266287
description: flutter
@@ -272,7 +293,7 @@ packages:
272293
name: source_gen
273294
url: "https://pub.dartlang.org"
274295
source: hosted
275-
version: "1.0.3"
296+
version: "1.2.0"
276297
source_span:
277298
dependency: transitive
278299
description:
@@ -314,7 +335,7 @@ packages:
314335
name: test_api
315336
url: "https://pub.dartlang.org"
316337
source: hosted
317-
version: "0.3.0"
338+
version: "0.4.2"
318339
typed_data:
319340
dependency: transitive
320341
description:
@@ -335,7 +356,7 @@ packages:
335356
name: watcher
336357
url: "https://pub.dartlang.org"
337358
source: hosted
338-
version: "1.0.0"
359+
version: "1.0.1"
339360
yaml:
340361
dependency: transitive
341362
description:
@@ -344,5 +365,5 @@ packages:
344365
source: hosted
345366
version: "3.1.0"
346367
sdks:
347-
dart: ">=2.12.0 <3.0.0"
348-
flutter: ">=1.12.13+hotfix.5"
368+
dart: ">=2.14.0 <3.0.0"
369+
flutter: ">=1.20.0"

pubspec.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ environment:
1414
dependencies:
1515
flutter:
1616
sdk: flutter
17-
firebase_database: ^7.2.1
18-
pedantic: ^1.11.1
19-
mockito: ^5.0.15
20-
firebase_core_platform_interface: ^4.0.1
17+
firebase_database: ^9.0.3
18+
flutter_lints: ^1.0.4
19+
mockito: ^5.0.16
20+
firebase_core_platform_interface: ^4.2.2
2121
flutter_test:
2222
sdk: flutter

test/exemples_test.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@ class UserRepository {
99
Future<String?> getUserName(String userId) async {
1010
final userNameReference =
1111
firebaseDatabase.reference().child('users').child(userId).child('name');
12-
final dataSnapshot = await userNameReference.once();
13-
return dataSnapshot.value;
12+
final databaseEvent = await userNameReference.once();
13+
return databaseEvent.snapshot.value as String?;
1414
}
1515

1616
Future<Map<String, dynamic>?> getUser(String userId) async {
1717
final userNode = firebaseDatabase.reference().child('users/$userId');
18-
final dataSnapshot = await userNode.once();
19-
return dataSnapshot.value;
18+
final databaseEvent = await userNode.once();
19+
return databaseEvent.snapshot.value as Map<String, dynamic>?;
2020
}
2121
}
2222

0 commit comments

Comments
 (0)