@@ -119,10 +119,14 @@ describe("Daily Leaderboards", () => {
119119 true
120120 ) ;
121121 //THEN
122- expect ( results ) . toEqual ( [
123- { rank : 1 , ...bestResult } ,
124- { rank : 2 , ...user2 } ,
125- ] ) ;
122+ expect ( results ) . toEqual ( {
123+ count : 2 ,
124+ minWpm : 20 ,
125+ entries : [
126+ { rank : 1 , ...bestResult } ,
127+ { rank : 2 , ...user2 } ,
128+ ] ,
129+ } ) ;
126130 } ) ;
127131
128132 it ( "limits max amount of results" , async ( ) => {
@@ -135,7 +139,9 @@ describe("Daily Leaderboards", () => {
135139 . fill ( 0 )
136140 . map ( ( ) => givenResult ( { wpm : 20 + Math . random ( ) * 100 } ) )
137141 ) ;
138- expect ( await lb . getCount ( ) ) . toEqual ( maxResults ) ;
142+ expect (
143+ await lb . getResults ( 0 , 5 , dailyLeaderboardsConfig , true )
144+ ) . toEqual ( expect . objectContaining ( { count : maxResults } ) ) ;
139145 expect ( await lb . getRank ( bob . uid , dailyLeaderboardsConfig ) ) . toEqual ( {
140146 rank : maxResults ,
141147 ...bob ,
@@ -146,7 +152,9 @@ describe("Daily Leaderboards", () => {
146152
147153 //THEN
148154 //max count is still the same, but bob is no longer on the leaderboard
149- expect ( await lb . getCount ( ) ) . toEqual ( maxResults ) ;
155+ expect (
156+ await lb . getResults ( 0 , 5 , dailyLeaderboardsConfig , true )
157+ ) . toEqual ( expect . objectContaining ( { count : maxResults } ) ) ;
150158 expect ( await lb . getRank ( bob . uid , dailyLeaderboardsConfig ) ) . toBeNull ( ) ;
151159 } ) ;
152160 } ) ;
@@ -165,11 +173,15 @@ describe("Daily Leaderboards", () => {
165173 true
166174 ) ;
167175 //THEN
168- expect ( results ) . toEqual ( [
169- { rank : 1 , ...user2 } ,
170- { rank : 2 , ...user1 } ,
171- { rank : 3 , ...user3 } ,
172- ] ) ;
176+ expect ( results ) . toEqual ( {
177+ count : 3 ,
178+ minWpm : 40 ,
179+ entries : [
180+ { rank : 1 , ...user2 } ,
181+ { rank : 2 , ...user1 } ,
182+ { rank : 3 , ...user3 } ,
183+ ] ,
184+ } ) ;
173185 } ) ;
174186 it ( "gets result for page" , async ( ) => {
175187 //GIVEN
@@ -187,10 +199,14 @@ describe("Daily Leaderboards", () => {
187199 true
188200 ) ;
189201 //THEN
190- expect ( results ) . toEqual ( [
191- { rank : 3 , ...user4 } ,
192- { rank : 4 , ...user3 } ,
193- ] ) ;
202+ expect ( results ) . toEqual ( {
203+ count : 5 ,
204+ minWpm : 20 ,
205+ entries : [
206+ { rank : 3 , ...user4 } ,
207+ { rank : 4 , ...user3 } ,
208+ ] ,
209+ } ) ;
194210 } ) ;
195211
196212 it ( "gets result without premium" , async ( ) => {
@@ -207,11 +223,15 @@ describe("Daily Leaderboards", () => {
207223 false
208224 ) ;
209225 //THEN
210- expect ( results ) . toEqual ( [
211- { rank : 1 , ...user2 , isPremium : undefined } ,
212- { rank : 2 , ...user1 , isPremium : undefined } ,
213- { rank : 3 , ...user3 , isPremium : undefined } ,
214- ] ) ;
226+ expect ( results ) . toEqual ( {
227+ count : 3 ,
228+ minWpm : 40 ,
229+ entries : [
230+ { rank : 1 , ...user2 , isPremium : undefined } ,
231+ { rank : 2 , ...user1 , isPremium : undefined } ,
232+ { rank : 3 , ...user3 , isPremium : undefined } ,
233+ ] ,
234+ } ) ;
215235 } ) ;
216236
217237 it ( "should get for friends only" , async ( ) => {
@@ -220,6 +240,7 @@ describe("Daily Leaderboards", () => {
220240 const user2 = await givenResult ( { wpm : 80 } ) ;
221241 const _user3 = await givenResult ( { wpm : 70 } ) ;
222242 const user4 = await givenResult ( { wpm : 60 } ) ;
243+ const _user5 = await givenResult ( { wpm : 50 } ) ;
223244
224245 //WHEN
225246 const results = await lb . getResults (
@@ -230,10 +251,14 @@ describe("Daily Leaderboards", () => {
230251 [ user2 . uid , user4 . uid ]
231252 ) ;
232253 //THEN
233- expect ( results ) . toEqual ( [
234- { rank : 2 , friendsRank : 1 , ...user2 } ,
235- { rank : 4 , friendsRank : 2 , ...user4 } ,
236- ] ) ;
254+ expect ( results ) . toEqual ( {
255+ count : 2 ,
256+ minWpm : 60 ,
257+ entries : [
258+ { rank : 2 , friendsRank : 1 , ...user2 } ,
259+ { rank : 4 , friendsRank : 2 , ...user4 } ,
260+ ] ,
261+ } ) ;
237262 } ) ;
238263
239264 it ( "should get for friends only with page" , async ( ) => {
@@ -242,6 +267,7 @@ describe("Daily Leaderboards", () => {
242267 const user2 = await givenResult ( { wpm : 100 } ) ;
243268 const _user3 = await givenResult ( { wpm : 95 } ) ;
244269 const user4 = await givenResult ( { wpm : 90 } ) ;
270+ const _user5 = await givenResult ( { wpm : 70 } ) ;
245271
246272 //WHEN
247273
@@ -254,7 +280,11 @@ describe("Daily Leaderboards", () => {
254280 ) ;
255281
256282 //THEN
257- expect ( results ) . toEqual ( [ { rank : 4 , friendsRank : 3 , ...user4 } ] ) ;
283+ expect ( results ) . toEqual ( {
284+ count : 3 ,
285+ minWpm : 90 ,
286+ entries : [ { rank : 4 , friendsRank : 3 , ...user4 } ] ,
287+ } ) ;
258288 } ) ;
259289
260290 it ( "should return empty list if no friends" , async ( ) => {
@@ -269,20 +299,11 @@ describe("Daily Leaderboards", () => {
269299 [ ]
270300 ) ;
271301 //THEN
272- expect ( results ) . toEqual ( [ ] ) ;
273- } ) ;
274- } ) ;
275-
276- describe ( "minWpm" , ( ) => {
277- it ( "gets min wpm" , async ( ) => {
278- //GIVEN
279- await givenResult ( { wpm : 50 } ) ;
280- await givenResult ( { wpm : 60 } ) ;
281-
282- //WHEN
283- const minWpm = await lb . getMinWpm ( dailyLeaderboardsConfig ) ;
284- //THEN
285- expect ( minWpm ) . toEqual ( 50 ) ;
302+ expect ( results ) . toEqual ( {
303+ count : 0 ,
304+ minWpm : 0 ,
305+ entries : [ ] ,
306+ } ) ;
286307 } ) ;
287308 } ) ;
288309
@@ -299,23 +320,11 @@ describe("Daily Leaderboards", () => {
299320 } ) ;
300321 } ) ;
301322
302- describe ( "getCount" , ( ) => {
303- it ( "gets count" , async ( ) => {
304- //GIVEN
305- await givenResult ( { wpm : 50 } ) ;
306- await givenResult ( { wpm : 60 } ) ;
307-
308- //WHEN
309- const count = await lb . getCount ( ) ;
310- //THEN
311- expect ( count ) . toEqual ( 2 ) ;
312- } ) ;
313- } ) ;
314-
315323 it ( "purgeUserFromDailyLeaderboards" , async ( ) => {
316324 //GIVEN
317325 const cheater = await givenResult ( { wpm : 50 } ) ;
318- const validUser = await givenResult ( ) ;
326+ const user1 = await givenResult ( { wpm : 60 } ) ;
327+ const user2 = await givenResult ( { wpm : 40 } ) ;
319328
320329 //WHEN
321330 await DailyLeaderboards . purgeUserFromDailyLeaderboards (
@@ -325,7 +334,14 @@ describe("Daily Leaderboards", () => {
325334 //THEN
326335 expect ( await lb . getRank ( cheater . uid , dailyLeaderboardsConfig ) ) . toBeNull ( ) ;
327336 expect ( await lb . getResults ( 0 , 50 , dailyLeaderboardsConfig , true ) ) . toEqual (
328- [ { rank : 1 , ...validUser } ]
337+ {
338+ count : 2 ,
339+ minWpm : 40 ,
340+ entries : [
341+ { rank : 1 , ...user1 } ,
342+ { rank : 2 , ...user2 } ,
343+ ] ,
344+ }
329345 ) ;
330346 } ) ;
331347
0 commit comments