@@ -70,10 +70,10 @@ export class BrowserActions {
70
70
}
71
71
72
72
/**
73
- * Verify that not patterned keys not visible with delimiter
73
+ * Verify that not patterned keys not displayed with delimiter
74
74
* @param delimiter string with delimiter value
75
75
*/
76
- async verifyNotPatternedKeys ( delimiter : string ) : Promise < void > {
76
+ async verifyNotPatternedKeysNotDisplayed ( delimiter : string ) : Promise < void > {
77
77
const notPatternedKeys = Selector ( '[data-testid^="badge"]' ) . parent ( '[data-testid^="node-item_"]' ) ;
78
78
const notPatternedKeysNumber = await notPatternedKeys . count ;
79
79
@@ -88,8 +88,8 @@ export class BrowserActions {
88
88
* @param folderName name of folder
89
89
* @param delimiter string with delimiter value
90
90
*/
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 } `;
93
93
}
94
94
95
95
/**
@@ -106,28 +106,30 @@ export class BrowserActions {
106
106
* @param delimiter string with delimiter value
107
107
*/
108
108
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 ] ) ;
111
110
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 = '' ;
113
115
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 ) ;
120
119
const node = this . getNodeSelector ( nodeName ) ;
121
120
const fullTestIdSelector = await node . getAttribute ( 'data-testid' ) ;
121
+
122
122
if ( ! fullTestIdSelector ?. includes ( 'expanded' ) ) {
123
123
await t . click ( node ) ;
124
124
}
125
- prevNodeSelector = nodeName ;
125
+
126
+ prevNodeName = nodeName ;
127
+ prevDelimiter = delimiter ;
126
128
}
127
129
128
130
// 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 ] ) ;
131
133
const firstFolder = this . getNodeSelector ( firstFolderName ) ;
132
134
await t
133
135
. expect ( Selector ( `[data-testid*="node-item_${ foundKeyName } "]` ) . find ( '[data-testid^="key-"]' ) . exists ) . ok ( 'Specific key not found' )
0 commit comments