@@ -139,28 +139,29 @@ describe("Loaderboard Controller", () => {
139139 ) ;
140140 } ) ;
141141
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+ } ) ;
160146
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+ ) ;
163163 } ) ;
164+
164165 it ( "fails for missing query" , async ( ) => {
165166 const { body } = await mockApp . get ( "/leaderboards" ) . expect ( 422 ) ;
166167
0 commit comments