66 */
77
88import { navTabs } from '../../../app/home/home_navigations' ;
9- import { getTitle } from './helpers' ;
9+ import { getTitle , isQueryStateEmpty } from './helpers' ;
10+ import { CONSTANTS } from './constants' ;
1011
1112describe ( 'Helpers Url_State' , ( ) => {
1213 describe ( 'getTitle' , ( ) => {
@@ -31,4 +32,58 @@ describe('Helpers Url_State', () => {
3132 expect ( result ) . toEqual ( '' ) ;
3233 } ) ;
3334 } ) ;
35+
36+ describe ( 'isQueryStateEmpty' , ( ) => {
37+ test ( 'returns true if queryState is undefined' , ( ) => {
38+ const result = isQueryStateEmpty ( undefined , CONSTANTS . savedQuery ) ;
39+ expect ( result ) . toBeTruthy ( ) ;
40+ } ) ;
41+
42+ test ( 'returns true if queryState is null' , ( ) => {
43+ const result = isQueryStateEmpty ( null , CONSTANTS . savedQuery ) ;
44+ expect ( result ) . toBeTruthy ( ) ;
45+ } ) ;
46+
47+ test ( 'returns true if url key is "query" and queryState is empty string' , ( ) => {
48+ const result = isQueryStateEmpty ( { } , CONSTANTS . appQuery ) ;
49+ expect ( result ) . toBeTruthy ( ) ;
50+ } ) ;
51+
52+ test ( 'returns false if url key is "query" and queryState is not empty' , ( ) => {
53+ const result = isQueryStateEmpty (
54+ { query : { query : '*:*' } , language : 'kuery' } ,
55+ CONSTANTS . appQuery
56+ ) ;
57+ expect ( result ) . toBeFalsy ( ) ;
58+ } ) ;
59+
60+ test ( 'returns true if url key is "filters" and queryState is empty' , ( ) => {
61+ const result = isQueryStateEmpty ( [ ] , CONSTANTS . filters ) ;
62+ expect ( result ) . toBeTruthy ( ) ;
63+ } ) ;
64+
65+ test ( 'returns false if url key is "filters" and queryState is not empty' , ( ) => {
66+ const result = isQueryStateEmpty (
67+ [ { query : { query : '*:*' } , meta : { key : '123' } } ] ,
68+ CONSTANTS . filters
69+ ) ;
70+ expect ( result ) . toBeFalsy ( ) ;
71+ } ) ;
72+
73+ // TODO: Is this a bug, or intended?
74+ test ( 'returns false if url key is "timeline" and queryState is empty' , ( ) => {
75+ const result = isQueryStateEmpty ( { } , CONSTANTS . timeline ) ;
76+ expect ( result ) . toBeFalsy ( ) ;
77+ } ) ;
78+
79+ test ( 'returns true if url key is "timeline" and queryState id is empty string' , ( ) => {
80+ const result = isQueryStateEmpty ( { id : '' , isOpen : true } , CONSTANTS . timeline ) ;
81+ expect ( result ) . toBeTruthy ( ) ;
82+ } ) ;
83+
84+ test ( 'returns false if url key is "timeline" and queryState is not empty' , ( ) => {
85+ const result = isQueryStateEmpty ( { id : '123' , isOpen : true } , CONSTANTS . timeline ) ;
86+ expect ( result ) . toBeFalsy ( ) ;
87+ } ) ;
88+ } ) ;
3489} ) ;
0 commit comments