1
1
import { Selector , t } from 'testcafe' ;
2
2
import { DatabaseHelper } from '../../../../helpers/database' ;
3
3
import { BrowserPage , MyRedisDatabasePage } from '../../../../pageObjects' ;
4
+ import { Telemetry } from '../../../../helpers/telemetry' ;
4
5
import {
5
6
commonUrl ,
6
7
ossStandaloneBigConfig ,
@@ -19,6 +20,32 @@ const myRedisDatabasePage = new MyRedisDatabasePage();
19
20
const databaseHelper = new DatabaseHelper ( ) ;
20
21
const databaseAPIRequests = new DatabaseAPIRequests ( ) ;
21
22
const apiKeyRequests = new APIKeyRequests ( ) ;
23
+ const telemetry = new Telemetry ( ) ;
24
+
25
+ const telemetryEvents = [ 'SEARCH_MODE_CHANGED' , 'SEARCH_INDEX_ADD_BUTTON_CLICKED' , 'SEARCH_INDEX_ADDED' ] ;
26
+ const logger = telemetry . createLogger ( ) ;
27
+ const expectedPropertiesMode = [
28
+ 'current' ,
29
+ 'databaseId' ,
30
+ 'previous' ,
31
+ 'provider' ,
32
+ 'view'
33
+ ] ;
34
+
35
+ const expectedPropertiesCreateIndex = [
36
+ 'databaseId' ,
37
+ 'provider' ,
38
+ 'view'
39
+ ] ;
40
+
41
+ const expectedPropertiesAddedIndex = [
42
+ 'countOfFieldNames' ,
43
+ 'countOfPrefixes' ,
44
+ 'dataType' ,
45
+ 'databaseId' ,
46
+ 'provider' ,
47
+ 'view'
48
+ ] ;
22
49
23
50
const patternModeTooltipText = 'Filter by Key Name or Pattern' ;
24
51
const redisearchModeTooltipText = 'Search by Values of Keys' ;
167
194
await Common . checkURLContainsText ( externalPageLinkFirst ) ;
168
195
await Common . checkURLContainsText ( externalPageLinkSecond ) ;
169
196
} ) ;
170
- test
197
+ test . requestHooks ( logger )
171
198
. before ( async ( ) => {
172
199
await databaseHelper . acceptLicenseTermsAndAddDatabaseApi ( ossStandaloneBigConfig ) ;
173
200
} )
@@ -177,10 +204,17 @@ test
177
204
} ) ( 'Index creation' , async t => {
178
205
const createIndexLink = 'https://redis.io/docs/latest/commands/ft.create/?utm_source=redisinsight&utm_medium=app&utm_campaign=browser_search' ;
179
206
180
- // Verify that user can cancel index creation
207
+ // Verify that telemetry event 'SEARCH_MODE_CHANGED' sent
181
208
await t . click ( browserPage . redisearchModeBtn ) ;
209
+ await telemetry . verifyEventHasProperties ( telemetryEvents [ 0 ] , expectedPropertiesMode , logger ) ;
210
+
211
+ // Verify that user can cancel index creation
182
212
await t . click ( browserPage . selectIndexDdn ) ;
183
213
await t . click ( browserPage . createIndexBtn ) ;
214
+
215
+ // Verify that telemetry event 'SEARCH_INDEX_ADD_BUTTON_CLICKED' sent
216
+ await telemetry . verifyEventHasProperties ( telemetryEvents [ 1 ] , expectedPropertiesCreateIndex , logger ) ;
217
+
184
218
await t . expect ( browserPage . newIndexPanel . exists ) . ok ( 'New Index panel is not displayed' ) ;
185
219
await t . click ( browserPage . cancelIndexCreationBtn ) ;
186
220
await t . expect ( browserPage . newIndexPanel . exists ) . notOk ( 'New Index panel is displayed' ) ;
197
231
await goBackHistory ( ) ;
198
232
199
233
// Verify that user can create an index with multiple prefixes
200
- // await t.click(browserPage.selectIndexDdn);
201
- // await t.click(browserPage.createIndexBtn);
234
+ await t . click ( browserPage . selectIndexDdn ) ;
235
+ await t . click ( browserPage . createIndexBtn ) ;
202
236
await t . click ( browserPage . indexNameInput ) ;
203
237
await t . typeText ( browserPage . indexNameInput , indexName ) ;
204
238
await t . click ( browserPage . prefixFieldInput ) ;
@@ -214,6 +248,10 @@ test
214
248
await t . click ( browserPage . indexIdentifierInput ) ;
215
249
await t . typeText ( browserPage . indexIdentifierInput , 'k0' ) ;
216
250
await t . click ( browserPage . confirmIndexCreationBtn ) ;
251
+
252
+ await telemetry . verifyEventHasProperties ( telemetryEvents [ 2 ] , expectedPropertiesAddedIndex , logger ) ;
253
+ await telemetry . verifyEventPropertyValue ( telemetryEvents [ 2 ] , 'countOfPrefixes' , '3' , logger ) ;
254
+
217
255
await t . expect ( browserPage . newIndexPanel . exists ) . notOk ( 'New Index panel is displayed' ) ;
218
256
await t . click ( browserPage . selectIndexDdn ) ;
219
257
await browserPage . selectIndexByName ( indexName ) ;
0 commit comments