@@ -139,28 +139,29 @@ describe("Loaderboard Controller", () => {
139
139
) ;
140
140
} ) ;
141
141
142
- it ( "should get for mode" , async ( ) => {
143
- getLeaderboardMock . mockResolvedValue ( [ ] ) ;
144
- for ( const mode of [ "time" , "words" , "quote" , "zen" , "custom" ] ) {
145
- const response = await mockApp
146
- . get ( "/leaderboards" )
147
- . query ( { language : "english" , mode, mode2 : "custom" } ) ;
148
- expect ( response . status , "for mode " + mode ) . toEqual ( 200 ) ;
149
- }
150
- } ) ;
151
-
152
- it ( "should get for mode2" , async ( ) => {
153
- getLeaderboardMock . mockResolvedValue ( [ ] ) ;
154
- for ( const mode2 of allModes ) {
155
- const response = await mockApp . get ( "/leaderboards" ) . query ( {
156
- language : "english" ,
157
- mode : "words" ,
158
- mode2,
159
- } ) ;
142
+ describe ( "should get for modes" , async ( ) => {
143
+ beforeEach ( ( ) => {
144
+ getLeaderboardMock . mockResolvedValue ( [ ] ) ;
145
+ } ) ;
160
146
161
- expect ( response . status , "for mode2 " + mode2 ) . toEqual ( 200 ) ;
162
- }
147
+ const testCases = [
148
+ { mode : "time" , mode2 : "15" , language : "english" , expectStatus : 200 } ,
149
+ { mode : "time" , mode2 : "60" , language : "english" , expectStatus : 200 } ,
150
+ { mode : "time" , mode2 : "30" , language : "english" , expectStatus : 404 } ,
151
+ { mode : "words" , mode2 : "15" , language : "english" , expectStatus : 404 } ,
152
+ { mode : "time" , mode2 : "15" , language : "spanish" , expectStatus : 404 } ,
153
+ ] ;
154
+ it . for ( testCases ) (
155
+ `expect $expectStatus for mode $mode, mode2 $mode2, lang $language` ,
156
+ async ( { mode, mode2, language, expectStatus } ) => {
157
+ await mockApp
158
+ . get ( "/leaderboards" )
159
+ . query ( { language, mode, mode2 } )
160
+ . expect ( expectStatus ) ;
161
+ }
162
+ ) ;
163
163
} ) ;
164
+
164
165
it ( "fails for missing query" , async ( ) => {
165
166
const { body } = await mockApp . get ( "/leaderboards" ) . expect ( 422 ) ;
166
167
0 commit comments