|
1 |
| -import { rte } from '../../../helpers/constants'; |
| 1 | +import {keyLength, rte} from '../../../helpers/constants'; |
2 | 2 | import { acceptLicenseTermsAndAddDatabaseApi } from '../../../helpers/database';
|
3 | 3 | import { BrowserPage, CliPage } from '../../../pageObjects';
|
4 | 4 | import { commonUrl, ossStandaloneConfig } from '../../../helpers/conf';
|
5 | 5 | import { deleteStandaloneDatabaseApi } from '../../../helpers/api/api-database';
|
| 6 | +import {addKeysViaCli, deleteKeysViaCli, keyTypes} from '../../../helpers/keys'; |
| 7 | +import {Common} from '../../../helpers/common'; |
| 8 | +import {BrowserActions} from '../../../common-actions/browser-actions'; |
6 | 9 |
|
7 | 10 | const browserPage = new BrowserPage();
|
| 11 | +const browserActions = new BrowserActions(); |
| 12 | +const common = new Common(); |
8 | 13 | const cliPage = new CliPage();
|
9 | 14 | const jsonKeys = [['JSON-string', '"test"'], ['JSON-number', '782364'], ['JSON-boolean', 'true'], ['JSON-null', 'null'], ['JSON-array', '[1, 2, 3]']];
|
| 15 | +const keysData = keyTypes.map(object => ({ ...object })); |
| 16 | +let keyNames: string[]; |
| 17 | +let indexName: string; |
| 18 | +keysData.forEach(key => key.keyName = `${key.keyName}` + '-' + `${common.generateWord(keyLength)}`); |
10 | 19 |
|
11 |
| -fixture `Different JSON types creation` |
| 20 | +fixture `Add keys` |
12 | 21 | .meta({
|
13 | 22 | type: 'regression',
|
14 | 23 | rte: rte.standalone
|
@@ -44,3 +53,55 @@ test('Verify that user can create different types(string, number, null, array, b
|
44 | 53 | }
|
45 | 54 | }
|
46 | 55 | });
|
| 56 | +// https://redislabs.atlassian.net/browse/RI-3995 |
| 57 | +test |
| 58 | + .before(async() => { |
| 59 | + await acceptLicenseTermsAndAddDatabaseApi(ossStandaloneConfig, ossStandaloneConfig.databaseName); |
| 60 | + await addKeysViaCli(keysData); |
| 61 | + }) |
| 62 | + .after(async() => { |
| 63 | + let commandString = 'DEL'; |
| 64 | + for (const key of keyNames) { |
| 65 | + commandString = commandString.concat(` ${key}`); |
| 66 | + } |
| 67 | + const commands = [`FT.DROPINDEX ${indexName}`, commandString]; |
| 68 | + await deleteKeysViaCli(keysData); |
| 69 | + await cliPage.sendCommandsInCli(commands); |
| 70 | + await deleteStandaloneDatabaseApi(ossStandaloneConfig); |
| 71 | + })('Verify that the new key is displayed at the top of the list', async t => { |
| 72 | + const keyName = common.generateWord(12); |
| 73 | + const keyName1 = common.generateWord(12); |
| 74 | + const keyName2 = common.generateWord(36); // to be sure element will not be displayed be at the top of list |
| 75 | + const keyName3 = common.generateWord(10); |
| 76 | + const keyName4 = `${common.generateWord(10)}-test`; |
| 77 | + const keyName5 = `hash-${common.generateWord(12)}`; |
| 78 | + keyNames = [keyName, keyName1, keyName2, keyName3, keyName4, keyName5]; |
| 79 | + indexName = `idx:${keyName5}`; |
| 80 | + const command = `FT.CREATE ${indexName} ON HASH PREFIX 1 hash- SCHEMA name TEXT`; |
| 81 | + await cliPage.sendCommandInCli(command); |
| 82 | + |
| 83 | + await browserPage.addStringKey(keyName); |
| 84 | + await browserActions.verifyKeyDisplayedTopAndOpened(keyName); |
| 85 | + // Verify displaying added multiple keys |
| 86 | + await browserPage.addSetKey(keyName1); |
| 87 | + await browserActions.verifyKeyDisplayedTopAndOpened(keyName1); |
| 88 | + |
| 89 | + await browserPage.addHashKey(keyName2); |
| 90 | + await browserActions.verifyKeyDisplayedTopAndOpened(keyName2); |
| 91 | + // Verify that the new key is not displayed at the top when filter per key name applied |
| 92 | + await browserPage.searchByKeyName('*test'); |
| 93 | + await browserPage.addHashKey(keyName4); |
| 94 | + await browserActions.verifyKeyIsNotDisplayedTop(keyName4); |
| 95 | + |
| 96 | + await t.click(browserPage.clearFilterButton); |
| 97 | + await t.click(browserPage.treeViewButton); |
| 98 | + await browserPage.addHashKey(keyName3); |
| 99 | + // Verify that user can see Tree view recalculated when new key is added in Tree view |
| 100 | + await browserActions.verifyKeyDisplayedTopAndOpened(keyName3); |
| 101 | + |
| 102 | + await t.click(browserPage.redisearchModeBtn); |
| 103 | + await browserPage.selectIndexByName(indexName); |
| 104 | + await browserPage.addHashKey(keyName5, '100000', 'name', 'value'); |
| 105 | + // Verify that the new key is not displayed at the top for the Search capability |
| 106 | + await browserActions.verifyKeyIsNotDisplayedTop(keyName3); |
| 107 | + }); |
0 commit comments