@@ -38,11 +38,13 @@ describe("_fetchAllLeaderboardsData", () => {
3838
3939 // Tests which tests the output of the function _fetchAllLeaderboardsData
4040 // Mock the calls to getLeaderBoardData
41- test ( "fetches all leaderboards data" , async ( ) => {
41+ test ( "fetches all leaderboards data from 2 pages " , async ( ) => {
4242 const result = await _fetchAllLeaderboardsData ( ) ;
4343
44- // I am getting 0 calls. Why?
45- expect ( getLeaderBoardData ) . toBeCalledTimes ( 16 ) ;
44+ // Now fetches 2 pages per faction/gameMode combination: 4 factions * 4 game modes * 2 pages = 32 calls
45+ expect ( getLeaderBoardData ) . toBeCalledTimes ( 32 ) ;
46+
47+ // Check that page 1 calls are made (start=1)
4648 expect ( getLeaderBoardData ) . toBeCalledWith ( "american" , "1v1" , 1 , 200 , 1 ) ;
4749 expect ( getLeaderBoardData ) . toBeCalledWith ( "american" , "2v2" , 1 , 200 , 1 ) ;
4850 expect ( getLeaderBoardData ) . toBeCalledWith ( "american" , "3v3" , 1 , 200 , 1 ) ;
@@ -52,30 +54,106 @@ describe("_fetchAllLeaderboardsData", () => {
5254 expect ( getLeaderBoardData ) . toBeCalledWith ( "british" , "3v3" , 1 , 200 , 1 ) ;
5355 expect ( getLeaderBoardData ) . toBeCalledWith ( "british" , "4v4" , 1 , 200 , 1 ) ;
5456
57+ // Check that page 2 calls are made (start=201)
58+ expect ( getLeaderBoardData ) . toBeCalledWith ( "american" , "1v1" , 1 , 200 , 201 ) ;
59+ expect ( getLeaderBoardData ) . toBeCalledWith ( "american" , "2v2" , 1 , 200 , 201 ) ;
60+ expect ( getLeaderBoardData ) . toBeCalledWith ( "american" , "3v3" , 1 , 200 , 201 ) ;
61+ expect ( getLeaderBoardData ) . toBeCalledWith ( "american" , "4v4" , 1 , 200 , 201 ) ;
62+ expect ( getLeaderBoardData ) . toBeCalledWith ( "british" , "1v1" , 1 , 200 , 201 ) ;
63+ expect ( getLeaderBoardData ) . toBeCalledWith ( "british" , "2v2" , 1 , 200 , 201 ) ;
64+ expect ( getLeaderBoardData ) . toBeCalledWith ( "british" , "3v3" , 1 , 200 , 201 ) ;
65+ expect ( getLeaderBoardData ) . toBeCalledWith ( "british" , "4v4" , 1 , 200 , 201 ) ;
66+
67+ // The result should have merged leaderboardStats and statGroups from both pages
68+ // Each entry should have empty arrays merged ([] + [] = [])
5569 expect ( result ) . toEqual ( {
5670 american : {
57- "1v1" : exampleRawLaddersObject ,
58- "2v2" : exampleRawLaddersObject ,
59- "3v3" : exampleRawLaddersObject ,
60- "4v4" : exampleRawLaddersObject ,
71+ "1v1" : {
72+ ...exampleRawLaddersObject ,
73+ leaderboardStats : [ ] ,
74+ statGroups : [ ] ,
75+ } ,
76+ "2v2" : {
77+ ...exampleRawLaddersObject ,
78+ leaderboardStats : [ ] ,
79+ statGroups : [ ] ,
80+ } ,
81+ "3v3" : {
82+ ...exampleRawLaddersObject ,
83+ leaderboardStats : [ ] ,
84+ statGroups : [ ] ,
85+ } ,
86+ "4v4" : {
87+ ...exampleRawLaddersObject ,
88+ leaderboardStats : [ ] ,
89+ statGroups : [ ] ,
90+ } ,
6191 } ,
6292 british : {
63- "1v1" : exampleRawLaddersObject ,
64- "2v2" : exampleRawLaddersObject ,
65- "3v3" : exampleRawLaddersObject ,
66- "4v4" : exampleRawLaddersObject ,
93+ "1v1" : {
94+ ...exampleRawLaddersObject ,
95+ leaderboardStats : [ ] ,
96+ statGroups : [ ] ,
97+ } ,
98+ "2v2" : {
99+ ...exampleRawLaddersObject ,
100+ leaderboardStats : [ ] ,
101+ statGroups : [ ] ,
102+ } ,
103+ "3v3" : {
104+ ...exampleRawLaddersObject ,
105+ leaderboardStats : [ ] ,
106+ statGroups : [ ] ,
107+ } ,
108+ "4v4" : {
109+ ...exampleRawLaddersObject ,
110+ leaderboardStats : [ ] ,
111+ statGroups : [ ] ,
112+ } ,
67113 } ,
68114 dak : {
69- "1v1" : exampleRawLaddersObject ,
70- "2v2" : exampleRawLaddersObject ,
71- "3v3" : exampleRawLaddersObject ,
72- "4v4" : exampleRawLaddersObject ,
115+ "1v1" : {
116+ ...exampleRawLaddersObject ,
117+ leaderboardStats : [ ] ,
118+ statGroups : [ ] ,
119+ } ,
120+ "2v2" : {
121+ ...exampleRawLaddersObject ,
122+ leaderboardStats : [ ] ,
123+ statGroups : [ ] ,
124+ } ,
125+ "3v3" : {
126+ ...exampleRawLaddersObject ,
127+ leaderboardStats : [ ] ,
128+ statGroups : [ ] ,
129+ } ,
130+ "4v4" : {
131+ ...exampleRawLaddersObject ,
132+ leaderboardStats : [ ] ,
133+ statGroups : [ ] ,
134+ } ,
73135 } ,
74136 german : {
75- "1v1" : exampleRawLaddersObject ,
76- "2v2" : exampleRawLaddersObject ,
77- "3v3" : exampleRawLaddersObject ,
78- "4v4" : exampleRawLaddersObject ,
137+ "1v1" : {
138+ ...exampleRawLaddersObject ,
139+ leaderboardStats : [ ] ,
140+ statGroups : [ ] ,
141+ } ,
142+ "2v2" : {
143+ ...exampleRawLaddersObject ,
144+ leaderboardStats : [ ] ,
145+ statGroups : [ ] ,
146+ } ,
147+ "3v3" : {
148+ ...exampleRawLaddersObject ,
149+ leaderboardStats : [ ] ,
150+ statGroups : [ ] ,
151+ } ,
152+ "4v4" : {
153+ ...exampleRawLaddersObject ,
154+ leaderboardStats : [ ] ,
155+ statGroups : [ ] ,
156+ } ,
79157 } ,
80158 } ) ;
81159 } ) ;
0 commit comments