Skip to content

Commit fa5f550

Browse files
committed
fix CI and improve test coverage
1 parent 10c63bc commit fa5f550

File tree

3 files changed

+22
-20
lines changed

3 files changed

+22
-20
lines changed

.github/workflows/main.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,7 @@ jobs:
3939
run: flutter test --coverage
4040

4141
- name: Exclude set_up_mocks.dart form coverage
42-
run: |
43-
dart pub global activate remove_from_coverage
44-
remove_from_coverage -f coverage/lcov.info -r 'set_up_mocks\.dart$'
42+
run: dart pub global activate remove_from_coverage && remove_from_coverage -f coverage/lcov.info -r 'set_up_mocks\.dart$'
4543

4644
- name: Upload coverage to Codecov
4745
uses: codecov/codecov-action@v1

lib/src/mock_database_reference.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ class MockDatabaseReference extends Mock implements DatabaseReference {
4343
path = (_nodePath + path).replaceAll(RegExp(r'^/+'), '');
4444
return MockDatabaseReference._(
4545
path,
46-
MockFirebaseDatabase.persistData ? _volatileData : <String, dynamic>{},
46+
_data,
4747
);
4848
}
4949

test/mock_database_reference_test.dart

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,12 @@ void main() {
178178
// group('Set data at any node reference :', null);
179179

180180
group('Data persistence : ', () {
181+
tearDown(() {
182+
MockFirebaseDatabase.setDataPersistanceEnabled(ennabled: true);
183+
});
184+
181185
test('Should persist data while test running', () async {
186+
MockFirebaseDatabase.setDataPersistanceEnabled(ennabled: true);
182187
var databaseReference = MockDatabaseReference();
183188
await databaseReference.child('test1').set('value1');
184189
await databaseReference.child('test2/test2').set('value2');
@@ -201,30 +206,29 @@ void main() {
201206
equals('value3'),
202207
);
203208
});
204-
});
205-
206-
test('Should return a stream of data', () async {
207-
await databaseReference.child('streamTest').set('StreamVal');
208-
final stream = databaseReference.child('streamTest').onValue;
209-
expect((await stream.first).snapshot.value, equals('StreamVal'));
210-
});
211-
212-
group('Work with data persistance disabled : ', () {
213-
// MockFirebaseDatabase.setDataPersistanceEnabled(ennabled: false);
214-
final _databaseReference = MockDatabaseReference();
215-
test('Should set String', () async {
216-
await _databaseReference.child('test_').set('value');
209+
test('Should not persist data', () async {
210+
MockFirebaseDatabase.setDataPersistanceEnabled(ennabled: false);
211+
await databaseReference.child('test_').set('value');
217212
expect(
218-
(await _databaseReference.child('test_').once()).value,
213+
(await databaseReference.child('test_').once()).value,
219214
equals('value'),
220215
);
221-
await _databaseReference.child('otherTest_/test').set('otherValue');
216+
await databaseReference.child('otherTest_/test').set('otherValue');
222217
expect(
223-
(await _databaseReference.child('otherTest_/test').once()).value,
218+
(await databaseReference.child('otherTest_/test').once()).value,
224219
equals('otherValue'),
225220
);
221+
expect(
222+
(await MockDatabaseReference().child('test_').once()).value, isNull);
226223
});
227224
});
225+
226+
test('Should return a stream of data', () async {
227+
await databaseReference.child('streamTest').set('StreamVal');
228+
final stream = databaseReference.child('streamTest').onValue;
229+
expect((await stream.first).snapshot.value, equals('StreamVal'));
230+
});
231+
228232
// Todo implement all dataSnapshot, dbReference and fbDatabase getters and setters if possible.
229233

230234
// test(

0 commit comments

Comments
 (0)