Skip to content

Commit dee27ff

Browse files
authored
Merge pull request #4129 from RedisInsight/e2e/feature/RI-6300_multiple-delimiters-in-tree-view
e2e/bugfix/RI-6300_fix-e2e-after-bugfix
2 parents a6b16b6 + d5fef80 commit dee27ff

File tree

2 files changed

+24
-19
lines changed

2 files changed

+24
-19
lines changed

tests/e2e/common-actions/browser-actions.ts

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,10 @@ export class BrowserActions {
7070
}
7171

7272
/**
73-
* Verify that not patterned keys not visible with delimiter
73+
* Verify that not patterned keys not displayed with delimiter
7474
* @param delimiter string with delimiter value
7575
*/
76-
async verifyNotPatternedKeys(delimiter: string): Promise<void> {
76+
async verifyNotPatternedKeysNotDisplayed(delimiter: string): Promise<void> {
7777
const notPatternedKeys = Selector('[data-testid^="badge"]').parent('[data-testid^="node-item_"]');
7878
const notPatternedKeysNumber = await notPatternedKeys.count;
7979

@@ -88,8 +88,8 @@ export class BrowserActions {
8888
* @param folderName name of folder
8989
* @param delimiter string with delimiter value
9090
*/
91-
getNodeName(startFolder: string, folderName: string, delimiters: string[]): string {
92-
return `${startFolder}${folderName}${delimiters.join('|')}`;
91+
getNodeName(startFolder: string, folderName: string, delimiter?: string): string {
92+
return delimiter ? `${startFolder}${delimiter}${folderName}` : `${startFolder}${folderName}`;
9393
}
9494

9595
/**
@@ -106,28 +106,30 @@ export class BrowserActions {
106106
* @param delimiter string with delimiter value
107107
*/
108108
async checkTreeViewFoldersStructure(folders: string[][], delimiters: string[]): Promise<void> {
109-
// Verify not patterned keys
110-
await this.verifyNotPatternedKeys(delimiters[0]);
109+
await this.verifyNotPatternedKeysNotDisplayed(delimiters[0]);
111110

112-
const foldersNumber = folders.length;
111+
for (let i = 0; i < folders.length; i++) {
112+
const delimiter = delimiters.length > 1 ? '-' : delimiters[0];
113+
let prevNodeName = '';
114+
let prevDelimiter = '';
113115

114-
for (let i = 0; i < foldersNumber; i++) {
115-
const innerFoldersNumber = folders[i].length;
116-
let prevNodeSelector = '';
117-
118-
for (let j = 0; j < innerFoldersNumber; j++) {
119-
const nodeName = this.getNodeName(prevNodeSelector, folders[i][j], delimiters);
116+
// Expand subfolders
117+
for (let j = 0; j < folders[i].length; j++) {
118+
const nodeName = this.getNodeName(prevNodeName, folders[i][j], prevDelimiter);
120119
const node = this.getNodeSelector(nodeName);
121120
const fullTestIdSelector = await node.getAttribute('data-testid');
121+
122122
if (!fullTestIdSelector?.includes('expanded')) {
123123
await t.click(node);
124124
}
125-
prevNodeSelector = nodeName;
125+
126+
prevNodeName = nodeName;
127+
prevDelimiter = delimiter;
126128
}
127129

128130
// Verify that the last folder level contains required keys
129-
const foundKeyName = `${folders[i].join(delimiters.join('|'))}`;
130-
const firstFolderName = this.getNodeName('', folders[i][0], delimiters);
131+
const foundKeyName = `${folders[i].join(delimiter)}`;
132+
const firstFolderName = this.getNodeName('', folders[i][0]);
131133
const firstFolder = this.getNodeSelector(firstFolderName);
132134
await t
133135
.expect(Selector(`[data-testid*="node-item_${foundKeyName}"]`).find('[data-testid^="key-"]').exists).ok('Specific key not found')

tests/e2e/tests/web/critical-path/tree-view/delimiter.e2e.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,9 @@ test
5151
await databaseHelper.acceptLicenseTermsAndAddDatabaseApi(ossStandaloneV8Config);
5252
keyNames = [
5353
`device:common-dev`,
54+
`device-common:dev`,
55+
`device:common:dev`,
56+
`device-common-dev`,
5457
`device:common-stage`,
5558
`device:common1-stage`,
5659
`mobile:common-dev`,
@@ -82,7 +85,7 @@ test
8285
// Switch to tree view
8386
await t.click(browserPage.treeViewButton);
8487
// Verify folders ordering with default delimiter
85-
await browserActions.checkTreeViewFoldersStructure([['device'], ['mobile']], [':']);
88+
await browserActions.checkTreeViewFoldersStructure([['device', 'common'], ['device-common'], ['mobile']], [':']);
8689
await t.click(browserPage.TreeView.treeViewSettingsBtn);
8790
// Apply new value to the field
8891
await browserPage.TreeView.FiltersDialog.addDelimiterItem('-');
@@ -92,6 +95,6 @@ test
9295

9396
// Verify that namespace names tooltip contains valid names and delimiter
9497
await t.click(browserActions.getNodeSelector('device'));
95-
await t.hover(browserActions.getNodeSelector('device:|-common:|-'));
96-
await browserActions.verifyTooltipContainsText('device:common-stage-*', true);
98+
await t.hover(browserActions.getNodeSelector('device-common'));
99+
await browserActions.verifyTooltipContainsText('device-common-*\n:\n-\n5 key(s)', true);
97100
});

0 commit comments

Comments
 (0)