Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import {
} from '../../../pageObjects';
import {
commonUrl,
ossStandaloneBigConfig,
ossStandaloneConfig
} from '../../../helpers/conf';
import { KeyTypesTexts, rte } from '../../../helpers/constants';
Expand All @@ -19,27 +18,28 @@ const cliPage = new CliPage();
let keyNames: string[];
let keyName1: string;
let keyName2: string;
let keynameSingle: string;
let keyNameSingle: string;
let index: string;

fixture`Tree view navigations improvement tests`
.meta({ type: 'critical_path', rte: rte.standalone })
.page(commonUrl);
test
.before(async () => {
.before(async() => {
await acceptLicenseTermsAndAddDatabaseApi(ossStandaloneConfig, ossStandaloneConfig.databaseName);
})
.after(async () => {
.after(async() => {
await t.click(browserPage.patternModeBtn);
await browserPage.deleteKeysByNames(keyNames);
await deleteStandaloneDatabaseApi(ossStandaloneConfig);
})('Tree view preselected folder', async t => {
keyName1 = common.generateWord(10); // used to create index name
keyName2 = common.generateWord(10); // used to create index name
keynameSingle = common.generateWord(10);
keyNames = [`${keyName1}:1`, `${keyName1}:2`, `${keyName2}:1`, `${keyName2}:2`, keynameSingle];
keyNameSingle = common.generateWord(10);
keyNames = [`${keyName1}:1`, `${keyName1}:2`, `${keyName2}:1`, `${keyName2}:2`, keyNameSingle];

const commands = [
'flushdb',
`HSET ${keyNames[0]} field value`,
`HSET ${keyNames[1]} field value`,
`HSET ${keyNames[2]} field value`,
Expand All @@ -51,16 +51,16 @@ test
await cliPage.sendCommandsInCli(commands);
await t.click(browserPage.treeViewButton);
// The folder without any patterns selected and the list of keys is displayed when there is a folder without any patterns
await verifyKeysDisplayedInTheList([keynameSingle]);
await verifyKeysDisplayedInTheList([keyNameSingle]);

await browserPage.openTreeFolders([await browserPage.getTextFromNthTreeElement(1)]);
await browserPage.selectFilterGroupType(KeyTypesTexts.Set);
// The folder without any namespaces is selected (if exists) when folder does not exist after search/filter
await verifyKeysDisplayedInTheList([keynameSingle]);
await verifyKeysDisplayedInTheList([keyNameSingle]);

await t.click(browserPage.setDeleteButton);
// The folder without any patterns selected and the list of keys is displayed when there is a folder without any patterns
await verifyKeysDisplayedInTheList([keynameSingle]);
await verifyKeysDisplayedInTheList([keyNameSingle]);
await verifyKeysNotDisplayedInTheList([`${keyNames[0]}:1`, `${keyNames[2]}:2`]);

// switch between browser view and tree view
Expand All @@ -82,48 +82,61 @@ test

await cliPage.sendCommandsInCli(commands1);
await t.click(browserPage.refreshKeysButton);
// Refreshed Tree view preselected folder
// Refreshed Tree view preselected folder
await t.expect(firstTreeItemKeys.visible)
.ok('Folder is not selected');
await verifyKeysDisplayedInTheList([`${firstTreeItemText}:1`, `${firstTreeItemText}:2`]);

await browserPage.selectFilterGroupType(KeyTypesTexts.Hash);
await t.expect(firstTreeItemKeys.visible).ok('Folder is not selected after searching with HASH');
// Filterred Tree view preselected folder
// Filtered Tree view preselected folder
await verifyKeysDisplayedInTheList([`${firstTreeItemText}:1`, `${firstTreeItemText}:2`]);

await browserPage.searchByKeyName('*');
// Search capability Filterred Tree view preselected folder
// Search capability Filtered Tree view preselected folder
await t.expect(firstTreeItemKeys.visible).ok('Folder is not selected');
await verifyKeysDisplayedInTheList([`${firstTreeItemText}:1`, `${firstTreeItemText}:2`]);

await t.click(browserPage.clearFilterButton);
// Filterred Tree view preselected folder
// Filtered Tree view preselected folder
await t.expect(firstTreeItemKeys.visible).ok('Folder is not selected');
await verifyKeysDisplayedInTheList([`${firstTreeItemText}:1`, `${firstTreeItemText}:2`]);

await browserPage.selectFilterGroupType(KeyTypesTexts.Stream);
// Filterred Tree view preselected folder
// Filtered Tree view preselected folder
await t.expect(browserPage.keyListTable.textContent).contains('No results found.', 'Key is not found message not displayed');

await t.click(browserPage.streamDeleteButton); // clear stream from filter
// Filterred Tree view preselected folder
// Filtered Tree view preselected folder
await t.expect(browserPage.keyListTable.textContent).notContains('No results found.', 'Key is not found message still displayed');
await t.expect(
firstTreeItemKeys.visible)
.notOk('First folder is expanded');
});

test
.before(async () => {
await acceptLicenseTermsAndAddDatabaseApi(ossStandaloneBigConfig, ossStandaloneBigConfig.databaseName);
.before(async() => {
await acceptLicenseTermsAndAddDatabaseApi(ossStandaloneConfig, ossStandaloneConfig.databaseName);
})
.after(async () => {
.after(async() => {
await cliPage.sendCommandInCli(`FT.DROPINDEX ${index}`);
await deleteStandaloneDatabaseApi(ossStandaloneBigConfig);
await deleteStandaloneDatabaseApi(ossStandaloneConfig);
})('Verify tree view navigation for index based search', async t => {
keyName1 = common.generateWord(10); // used to create index name
keyName2 = common.generateWord(10); // used to create index name
const subFolder1 = common.generateWord(10); // used to create index name
keyNames = [`${keyName1}:${subFolder1}:1`, `${keyName1}:${subFolder1}:2`, `${keyName2}:1:1`, `${keyName2}:1:2`];
const commands = [
'flushdb',
`HSET ${keyNames[0]} field value`,
`HSET ${keyNames[1]} field value`,
`HSET ${keyNames[2]} field value`,
`HSET ${keyNames[3]} field value`
];
await cliPage.sendCommandsInCli(commands);

// generate index based on keyName
const folders = ['mobile', '2014'];
const folders = [keyName1, subFolder1];
index = await cliPage.createIndexwithCLI(folders.join(':'));
await t.click(browserPage.redisearchModeBtn); // click redisearch button
await browserPage.selectIndexByName(index);
Expand All @@ -138,19 +151,20 @@ test
});

test
.before(async () => {
.before(async() => {
await acceptLicenseTermsAndAddDatabaseApi(ossStandaloneConfig, ossStandaloneConfig.databaseName);
})
.after(async () => {
.after(async() => {
await t.click(browserPage.patternModeBtn);
await browserPage.deleteKeysByNames(keyNames.slice(1));
await deleteStandaloneDatabaseApi(ossStandaloneConfig);
})('Search capability Refreshed Tree view preselected folder', async t => {
keyName1 = common.generateWord(10); // used to create index name
keyName2 = common.generateWord(10); // used to create index name
keynameSingle = common.generateWord(10);
keyNames = [`${keyName1}:1`, `${keyName1}:2`, `${keyName2}:1`, `${keyName2}:2`, keynameSingle];
keyNameSingle = common.generateWord(10);
keyNames = [`${keyName1}:1`, `${keyName1}:2`, `${keyName2}:1`, `${keyName2}:2`, keyNameSingle];
const commands = [
'flushdb',
`HSET ${keyNames[0]} field value`,
`HSET ${keyNames[1]} field value`,
`RPUSH ${keyNames[2]} field`,
Expand All @@ -160,7 +174,7 @@ test
await cliPage.sendCommandsInCli(commands);
await t.click(browserPage.treeViewButton);
// The folder without any patterns selected and the list of keys is displayed when there is a folder without any patterns
await verifyKeysDisplayedInTheList([keynameSingle]);
await verifyKeysDisplayedInTheList([keyNameSingle]);

await browserPage.openTreeFolders([keyName1]); // Type: hash
await browserPage.openTreeFolders([keyName2]); // Type: list
Expand All @@ -171,7 +185,7 @@ test
await t.click(browserPage.hashDeleteButton);
await cliPage.sendCommandsInCli([`DEL ${keyNames[0]}`]);
await t.click(browserPage.refreshKeysButton); // refresh keys
// The previously selected folder is preselected when key does not exist after keys refresh
// The previously selected folder is preselected when key does not exist after keys refresh
await verifyKeysDisplayedInTheList([keyNames[1]]);
await verifyKeysNotDisplayedInTheList([keyNames[0], keyNames[2], keyNames[3], keyNames[4]]);

Expand Down