Skip to content

Commit 70679d5

Browse files
committed
add tests
1 parent f03d70a commit 70679d5

File tree

2 files changed

+41
-14
lines changed

2 files changed

+41
-14
lines changed

exemples/lib/main.dart

Lines changed: 37 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,14 @@ class UserRepository {
77
FirebaseDatabase firebaseDatabase;
88

99
Future<String> getUserName(String userId) async {
10-
final userNode =
11-
firebaseDatabase.reference().child('users').child('$userId/name');
10+
final userNameReference =
11+
firebaseDatabase.reference().child('users').child(userId).child('name');
12+
final dataSnapshot = await userNameReference.once();
13+
return dataSnapshot.value;
14+
}
15+
16+
Future<Map<String, dynamic>> getUser(String userId) async {
17+
final userNode = firebaseDatabase.reference().child('users/$userId');
1218
final dataSnapshot = await userNode.once();
1319
return dataSnapshot.value;
1420
}
@@ -20,18 +26,39 @@ void main() {
2026
// Put fake data
2127
const userId = 'userId';
2228
const userName = 'Elon musk';
23-
MockFirebaseDatabase.instance
24-
.reference()
25-
.child('users')
26-
.child(userId)
27-
.child('name')
28-
.set(userName);
29+
const fakeData = {
30+
'users': {
31+
userId: {
32+
'name': userName,
33+
'email': '[email protected]',
34+
'photoUrl': 'url-to-photo.jpg',
35+
},
36+
'otherUserId': {
37+
'name': 'userName',
38+
'email': '[email protected]',
39+
'photoUrl': 'other_url-to-photo.jpg',
40+
}
41+
}
42+
};
43+
MockFirebaseDatabase.instance.reference().set(fakeData);
2944
setUp(() {
3045
firebaseDatabase = MockFirebaseDatabase.instance;
3146
userRepository = UserRepository(firebaseDatabase);
3247
});
33-
test('Should contain value', () async {
34-
final userNameFromFakeDatabase = userRepository.getUserName(userId);
48+
test('Should get userName ...', () async {
49+
final userNameFromFakeDatabase = await userRepository.getUserName(userId);
3550
expect(userNameFromFakeDatabase, equals(userName));
3651
});
52+
53+
test('Should get user ...', () async {
54+
final userNameFromFakeDatabase = await userRepository.getUser(userId);
55+
expect(
56+
userNameFromFakeDatabase,
57+
equals({
58+
'name': userName,
59+
'email': '[email protected]',
60+
'photoUrl': 'url-to-photo.jpg',
61+
}),
62+
);
63+
});
3764
}

test/mock_database_reference_test.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -138,11 +138,11 @@ void main() {
138138
'nkey2': {'otheNkey': 'nestedValue'}
139139
}));
140140

141-
// expect((await databaseReference.child('tes/key/nkey1').once()).value,
142-
// equals('value1'));
141+
expect((await databaseReference.child('tes/key/nkey1').once()).value,
142+
equals('value1'));
143143

144-
// expect((await databaseReference.child('tes/key/nkey2').once()).value,
145-
// equals({'otheNkey': 'nestedValue'}));
144+
expect((await databaseReference.child('tes/key/nkey2').once()).value,
145+
equals({'otheNkey': 'nestedValue'}));
146146
});
147147
});
148148

0 commit comments

Comments
 (0)