2021-01-25 01:37:41 -06:00
import { getRefreshFromUrl } from './getRefreshFromUrl' ;
describe ( 'getRefreshFromUrl' , ( ) = > {
describe ( 'when refresh is not part of params' , ( ) = > {
it ( 'then it should return current refresh value' , ( ) = > {
const currentRefresh = false ;
const minRefreshInterval = '5s' ;
const isAllowedIntervalFn = ( ) = > false ;
const actual = getRefreshFromUrl ( {
2022-05-04 04:36:15 -05:00
urlRefresh : null ,
2021-01-25 01:37:41 -06:00
currentRefresh ,
minRefreshInterval ,
isAllowedIntervalFn ,
} ) ;
expect ( actual ) . toBe ( false ) ;
} ) ;
} ) ;
describe ( 'when refresh is part of params' , ( ) = > {
describe ( 'and refresh is an existing and valid interval' , ( ) = > {
it ( 'then it should return the refresh value' , ( ) = > {
const currentRefresh = '' ;
const minRefreshInterval = '5s' ;
const isAllowedIntervalFn = ( ) = > true ;
const refreshIntervals = [ '5s' , '10s' , '30s' ] ;
const actual = getRefreshFromUrl ( {
2022-05-04 04:36:15 -05:00
urlRefresh : '10s' ,
2021-01-25 01:37:41 -06:00
currentRefresh ,
minRefreshInterval ,
isAllowedIntervalFn ,
refreshIntervals ,
} ) ;
expect ( actual ) . toBe ( '10s' ) ;
} ) ;
} ) ;
it . each `
refresh | isAllowedInterval | minRefreshInterval | refreshIntervals | expected
$ { '6s' } | $ { true } | $ { '1s' } | $ { [ '5s' , '6s' , '10s' , '30s' ] } | $ { '6s' }
$ { '6s' } | $ { true } | $ { '10s' } | $ { [ '5s' , '10s' , '30s' ] } | $ { '10s' }
$ { '6s' } | $ { true } | $ { '1s' } | $ { [ '5s' , '10s' , '30s' ] } | $ { '5s' }
$ { '6s' } | $ { true } | $ { '1s' } | $ { undefined } | $ { '5s' }
$ { '6s' } | $ { true } | $ { '10s' } | $ { undefined } | $ { '10s' }
$ { '6s' } | $ { true } | $ { '1s' } | $ { [ ] } | $ { 'currentRefresh' }
$ { '6s' } | $ { true } | $ { '10s' } | $ { [ ] } | $ { 'currentRefresh' }
$ { '6s' } | $ { false } | $ { '1s' } | $ { [ '5s' , '6s' , '10s' , '30s' ] } | $ { '5s' }
$ { '6s' } | $ { false } | $ { '10s' } | $ { [ '5s' , '6s' , '10s' , '30s' ] } | $ { '10s' }
$ { '6s' } | $ { false } | $ { '1s' } | $ { [ '5s' , '10s' , '30s' ] } | $ { '5s' }
$ { '6s' } | $ { false } | $ { '10s' } | $ { [ '5s' , '10s' , '30s' ] } | $ { '10s' }
$ { '6s' } | $ { false } | $ { '1s' } | $ { undefined } | $ { '5s' }
$ { '6s' } | $ { false } | $ { '10s' } | $ { undefined } | $ { '10s' }
$ { '6s' } | $ { false } | $ { '1s' } | $ { [ ] } | $ { 'currentRefresh' }
$ { '6s' } | $ { false } | $ { '10s' } | $ { [ ] } | $ { 'currentRefresh' }
` (
'when called with refresh:{$refresh}, isAllowedInterval:{$isAllowedInterval}, minRefreshInterval:{$minRefreshInterval}, refreshIntervals:{$refreshIntervals} then it should return: $expected' ,
( { refresh , isAllowedInterval , minRefreshInterval , refreshIntervals , expected } ) = > {
const actual = getRefreshFromUrl ( {
2022-05-04 04:36:15 -05:00
urlRefresh : refresh ,
2021-01-25 01:37:41 -06:00
currentRefresh : 'currentRefresh' ,
minRefreshInterval ,
isAllowedIntervalFn : ( ) = > isAllowedInterval ,
refreshIntervals ,
} ) ;
expect ( actual ) . toBe ( expected ) ;
}
) ;
} ) ;
} ) ;