From e6eacfa9e76ec7929e46279d14a3ad7d14dc1168 Mon Sep 17 00:00:00 2001 From: Allison Ryan <77211884+allisonryan0002@users.noreply.github.com> Date: Fri, 25 Mar 2022 08:42:35 -0500 Subject: [PATCH] fix: sort scores in descending order (#100) --- .../lib/src/leaderboard_repository.dart | 4 ++-- .../test/src/leaderboard_repository_test.dart | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/leaderboard_repository/lib/src/leaderboard_repository.dart b/packages/leaderboard_repository/lib/src/leaderboard_repository.dart index d75a88b3..30f6810f 100644 --- a/packages/leaderboard_repository/lib/src/leaderboard_repository.dart +++ b/packages/leaderboard_repository/lib/src/leaderboard_repository.dart @@ -91,7 +91,7 @@ class LeaderboardRepository { try { final querySnapshot = await _firebaseFirestore .collection('leaderboard') - .orderBy('score') + .orderBy('score', descending: true) .limit(10) .get(); documents = querySnapshot.docs; @@ -130,7 +130,7 @@ class LeaderboardRepository { try { final querySnapshot = await _firebaseFirestore .collection('leaderboard') - .orderBy('score') + .orderBy('score', descending: true) .get(); // TODO(allisonryan0002): see if we can find a more performant solution. diff --git a/packages/leaderboard_repository/test/src/leaderboard_repository_test.dart b/packages/leaderboard_repository/test/src/leaderboard_repository_test.dart index 592425ec..1341d3f4 100644 --- a/packages/leaderboard_repository/test/src/leaderboard_repository_test.dart +++ b/packages/leaderboard_repository/test/src/leaderboard_repository_test.dart @@ -82,7 +82,7 @@ void main() { when(() => firestore.collection('leaderboard')) .thenAnswer((_) => collectionReference); - when(() => collectionReference.orderBy('score')) + when(() => collectionReference.orderBy('score', descending: true)) .thenAnswer((_) => query); when(() => query.limit(10)).thenAnswer((_) => query); when(query.get).thenAnswer((_) async => querySnapshot); @@ -173,7 +173,7 @@ void main() { .thenAnswer((_) => collectionReference); when(() => collectionReference.add(any())) .thenAnswer((_) async => documentReference); - when(() => collectionReference.orderBy('score')) + when(() => collectionReference.orderBy('score', descending: true)) .thenAnswer((_) => query); when(query.get).thenAnswer((_) async => querySnapshot); when(() => querySnapshot.docs).thenReturn(queryDocumentSnapshots); @@ -203,7 +203,8 @@ void main() { test( 'throws FetchPlayerRankingException when Exception occurs ' 'when trying to retrieve information from firestore', () async { - when(() => collectionReference.orderBy('score')).thenThrow(Exception()); + when(() => collectionReference.orderBy('score', descending: true)) + .thenThrow(Exception()); expect( () => leaderboardRepository.addLeaderboardEntry(leaderboardEntry),