From 5d4fa063825b822f5f9faa0f7613086675080775 Mon Sep 17 00:00:00 2001 From: AYM1607 Date: Tue, 5 Mar 2019 20:06:05 -0600 Subject: [PATCH] Changed the [createUser] method to accept a uid for the document --- lib/src/resources/firestore_provider.dart | 5 +++-- lib/src/resources/repository.dart | 6 +++++- test/src/resources/firestore_provider_test.dart | 6 ++++-- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/lib/src/resources/firestore_provider.dart b/lib/src/resources/firestore_provider.dart index a93e562..2b95553 100644 --- a/lib/src/resources/firestore_provider.dart +++ b/lib/src/resources/firestore_provider.dart @@ -43,10 +43,11 @@ class FirestoreProvider { } /// Creates a new instance of a user in Firestore. - Future createUser(UserModel user) async { + Future createUser(UserModel user, String uid) async { try { final dataMap = user.toFirestoreMap(); - await _firestore.collection('users').add(dataMap); + final documentReference = _firestore.collection('users').document(uid); + await documentReference.setData(dataMap); } catch (e) { print('Error creating user: $e'); } diff --git a/lib/src/resources/repository.dart b/lib/src/resources/repository.dart index 4dd1de9..f2268d6 100644 --- a/lib/src/resources/repository.dart +++ b/lib/src/resources/repository.dart @@ -12,5 +12,9 @@ class Repository { final _firestoreProvider = FirestoreProvider(); final _googleSignInProvider = GoogleSignInProvider(); - Observable getUser(String username) {} + Observable getUser(String username) { + return _firestoreProvider.getUser(username); + } + + Future createUser(UserModel user) {} } diff --git a/test/src/resources/firestore_provider_test.dart b/test/src/resources/firestore_provider_test.dart index da6a683..cf4ab29 100644 --- a/test/src/resources/firestore_provider_test.dart +++ b/test/src/resources/firestore_provider_test.dart @@ -47,13 +47,15 @@ main() { test('should create a user', () { final firestore = MockFirestore(); final collection = MockCollectionReference(); + final document = MockDocumentReference(); final provider = FirestoreProvider(firestore); when(firestore.collection('users')).thenReturn(collection); + when(collection.document('123')).thenReturn(document); - provider.createUser(user); + provider.createUser(user, '123'); - verify(collection.add(user.toFirestoreMap())); + verify(document.setData(user.toFirestoreMap())); }); test('should update the information of a user', () {