@@ -195,24 +195,7 @@ describe(resolveArguments, () => {
195195} )
196196
197197describe ( resolvePageArguments , ( ) => {
198- test ( 'should accept (category, name, properties, options, callback)' , ( ) => {
199- const fn = jest . fn ( )
200- const [ category , name , properties , options , cb ] = resolvePageArguments (
201- 'category' ,
202- 'name' ,
203- bananaPhone ,
204- baseOptions ,
205- fn
206- )
207-
208- expect ( category ) . toEqual ( 'category' )
209- expect ( name ) . toEqual ( 'name' )
210- expect ( properties ) . toEqual ( bananaPhone )
211- expect ( options ) . toEqual ( baseOptions )
212- expect ( cb ) . toEqual ( fn )
213- } )
214-
215- test ( 'empty strings ("", "", "", { integrations })' , ( ) => {
198+ test ( 'empty strings ("", "", null, { integrations })' , ( ) => {
216199 const [ category , name , properties , options ] = resolvePageArguments (
217200 '' ,
218201 '' ,
@@ -302,6 +285,23 @@ describe(resolvePageArguments, () => {
302285 expect ( options ) . toEqual ( { } )
303286 } )
304287
288+ it ( 'should accept (category, name, properties, options, cb)' , ( ) => {
289+ const fn = jest . fn ( )
290+ const [ category , name , properties , options , cb ] = resolvePageArguments (
291+ 'foo' ,
292+ 'name' ,
293+ bananaPhone ,
294+ baseOptions ,
295+ fn
296+ )
297+
298+ expect ( category ) . toEqual ( 'foo' )
299+ expect ( name ) . toEqual ( 'name' )
300+ expect ( properties ) . toEqual ( bananaPhone )
301+ expect ( options ) . toEqual ( baseOptions )
302+ expect ( cb ) . toEqual ( fn )
303+ } )
304+
305305 it ( 'should accept (name, callback)' , ( ) => {
306306 const fn = jest . fn ( )
307307 const [ category , name , properties , options , cb ] = resolvePageArguments (
@@ -347,6 +347,84 @@ describe(resolvePageArguments, () => {
347347 expect ( name ) . toEqual ( null )
348348 expect ( category ) . toEqual ( null )
349349 } )
350+
351+ test ( 'should accept (category = null, name, properties, options, callback)' , ( ) => {
352+ const fn = jest . fn ( )
353+ const [ category , name , properties , options , cb ] = resolvePageArguments (
354+ null ,
355+ 'name' ,
356+ bananaPhone ,
357+ baseOptions ,
358+ fn
359+ )
360+
361+ expect ( category ) . toEqual ( null )
362+ expect ( name ) . toEqual ( 'name' )
363+ expect ( properties ) . toEqual ( bananaPhone )
364+ expect ( options ) . toEqual ( baseOptions )
365+ expect ( cb ) . toEqual ( fn )
366+ } )
367+
368+ test ( 'should accept (null, null, properties, options, callback)' , ( ) => {
369+ const fn = jest . fn ( )
370+ const [ category , name , properties , options , cb ] = resolvePageArguments (
371+ null ,
372+ null ,
373+ bananaPhone ,
374+ baseOptions ,
375+ fn
376+ )
377+
378+ expect ( category ) . toEqual ( null )
379+ expect ( name ) . toEqual ( null )
380+ expect ( properties ) . toEqual ( bananaPhone )
381+ expect ( options ) . toEqual ( baseOptions )
382+ expect ( cb ) . toEqual ( fn )
383+ } )
384+
385+ test ( 'should accept (null, null, null, options, callback)' , ( ) => {
386+ const fn = jest . fn ( )
387+ const [ category , name , properties , options , cb ] = resolvePageArguments (
388+ null ,
389+ null ,
390+ null ,
391+ baseOptions ,
392+ fn
393+ )
394+
395+ expect ( category ) . toEqual ( null )
396+ expect ( name ) . toEqual ( null )
397+ expect ( properties ) . toEqual ( { } )
398+ expect ( options ) . toEqual ( baseOptions )
399+ expect ( cb ) . toEqual ( fn )
400+ } )
401+
402+ test ( 'should accept (undefined, undefined, undefined, options, callback)' , ( ) => {
403+ const fn = jest . fn ( )
404+ const [ category , name , properties , options , cb ] = resolvePageArguments (
405+ undefined ,
406+ undefined ,
407+ undefined ,
408+ baseOptions ,
409+ fn
410+ )
411+
412+ expect ( category ) . toEqual ( null )
413+ expect ( name ) . toEqual ( null )
414+ expect ( properties ) . toEqual ( { } )
415+ expect ( options ) . toEqual ( baseOptions )
416+ expect ( cb ) . toEqual ( fn )
417+ } )
418+
419+ test ( 'should accept (callback)' , ( ) => {
420+ const fn = jest . fn ( )
421+ const [ category , name , properties , options , cb ] = resolvePageArguments ( fn )
422+ expect ( category ) . toEqual ( null )
423+ expect ( name ) . toEqual ( null )
424+ expect ( properties ) . toEqual ( { } )
425+ expect ( options ) . toEqual ( { } )
426+ expect ( cb ) . toEqual ( fn )
427+ } )
350428} )
351429
352430describe ( resolveUserArguments , ( ) => {
0 commit comments