@@ -7,6 +7,7 @@ import { render, screen, fireEvent } from 'uiSrc/utils/test-utils'
7
7
import { SavedQueriesScreen } from './SavedQueriesScreen'
8
8
import { sendEventTelemetry , TelemetryEvent } from 'uiSrc/telemetry'
9
9
import { useRedisearchListData } from '../useRedisearchListData'
10
+ import { PresetDataType } from '../create-index/types'
10
11
11
12
// Mock the telemetry sender once for this spec file
12
13
jest . mock ( 'uiSrc/telemetry' , ( ) => ( {
@@ -39,7 +40,7 @@ describe('SavedQueriesScreen', () => {
39
40
; ( useRedisearchListData as jest . Mock ) . mockReturnValue ( {
40
41
loading : false ,
41
42
data : [ ] ,
42
- stringData : [ 'idx:bikes_vss' , 'idx:restaurants_vss' ] ,
43
+ stringData : [ PresetDataType . BIKES , PresetDataType . MOVIES ] ,
43
44
} )
44
45
} )
45
46
@@ -83,14 +84,43 @@ describe('SavedQueriesScreen', () => {
83
84
84
85
it ( 'should select the first index by default' , ( ) => {
85
86
renderComponent ( )
86
- expect ( screen . queryByText ( 'idx:bikes_vss' ) ) . toBeInTheDocument ( )
87
+ expect ( screen . queryByText ( PresetDataType . BIKES ) ) . toBeInTheDocument ( )
87
88
} )
88
89
89
90
it ( 'should select the default index if provided' , ( ) => {
90
- renderComponent ( 'idx:restaurants_vss' )
91
+ renderComponent ( PresetDataType . MOVIES )
92
+
91
93
// The Select component isn't a native <select>, so assert by displayed text
92
- expect ( screen . queryByText ( 'idx:bikes_vss' ) ) . not . toBeInTheDocument ( )
93
- expect ( screen . queryByText ( 'idx:restaurants_vss' ) ) . toBeInTheDocument ( )
94
+ expect ( screen . queryByText ( PresetDataType . BIKES ) ) . not . toBeInTheDocument ( )
95
+ expect ( screen . queryByText ( PresetDataType . MOVIES ) ) . toBeInTheDocument ( )
96
+ } )
97
+
98
+ it ( 'should not render queries if the there is no index with preset data' , ( ) => {
99
+ ; ( useRedisearchListData as jest . Mock ) . mockReturnValue ( {
100
+ loading : false ,
101
+ data : [ ] ,
102
+ stringData : [ 'idx:unknown_index' ] ,
103
+ } )
104
+
105
+ renderComponent ( )
106
+
107
+ expect ( screen . queryByText ( 'idx:unknown_index' ) ) . not . toBeInTheDocument ( )
108
+ expect ( screen . queryByText ( PresetDataType . BIKES ) ) . not . toBeInTheDocument ( )
109
+ expect ( screen . queryByText ( PresetDataType . MOVIES ) ) . not . toBeInTheDocument ( )
110
+ } )
111
+
112
+ it ( 'should render only saved queries related to preset data' , ( ) => {
113
+ ; ( useRedisearchListData as jest . Mock ) . mockReturnValue ( {
114
+ loading : false ,
115
+ data : [ ] ,
116
+ stringData : [ 'idx:unknown_index' , PresetDataType . BIKES ] ,
117
+ } )
118
+
119
+ renderComponent ( )
120
+
121
+ expect ( screen . queryByText ( 'idx:unknown_index' ) ) . not . toBeInTheDocument ( )
122
+ expect ( screen . queryByText ( PresetDataType . MOVIES ) ) . not . toBeInTheDocument ( )
123
+ expect ( screen . queryByText ( PresetDataType . BIKES ) ) . toBeInTheDocument ( )
94
124
} )
95
125
96
126
it ( 'should call onClose when close button is clicked' , ( ) => {
0 commit comments