@@ -59,38 +59,54 @@ export class BrowserActions {
59
59
}
60
60
61
61
/**
62
- * Check tree view structure
63
- * @folders name of folders for tree view build
64
- * @delimiter string with delimiter value
65
- * @commonKeyFolder flag if not patterned keys will be displayed
62
+ * Verify that not patterned keys not visible with delimiter
63
+ * @param delimiter string with delimiter value
66
64
*/
67
- async checkTreeViewFoldersStructure ( folders : string [ ] [ ] , delimiter : string , commonKeyFolder : boolean ) : Promise < void > {
68
- // Verify that all keys that are not inside of tree view doesn't contain delimiter
69
- if ( commonKeyFolder ) {
70
- const notPatternedKeys = Selector ( '[data-testid^="badge"]' ) . parent ( '[data-testid^="node-item_"]' ) ;
71
- const notPatternedKeysNumber = await notPatternedKeys . count ;
72
- for ( let i = 0 ; i < notPatternedKeysNumber ; i ++ ) {
73
- await t . expect ( notPatternedKeys . nth ( i ) . withText ( delimiter ) . exists ) . notOk ( 'Not contained delimiter keys' ) ;
74
- }
65
+ async verifyNotPatternedKeys ( delimiter : string ) : Promise < void > {
66
+ const notPatternedKeys = Selector ( '[data-testid^="badge"]' ) . parent ( '[data-testid^="node-item_"]' ) ;
67
+ const notPatternedKeysNumber = await notPatternedKeys . count ;
68
+
69
+ for ( let i = 0 ; i < notPatternedKeysNumber ; i ++ ) {
70
+ await t . expect ( notPatternedKeys . nth ( i ) . withText ( delimiter ) . exists ) . notOk ( 'Not contained delimiter keys' ) ;
75
71
}
76
- // Verify that every level of tree view is clickable
72
+ }
73
+
74
+ /**
75
+ * Get not added in array folder selector
76
+ * @param array folders selectors
77
+ * @param folderName name of folder
78
+ * @param delimiter string with delimiter value
79
+ */
80
+ getFolderSelector ( array : string [ ] , folderName : string , delimiter : string ) : string {
81
+ if ( array . length === 0 ) {
82
+ return `[data-testid="node-item_${ folderName } ${ delimiter } "]` ;
83
+ }
84
+
85
+ const lastSelector = array [ array . length - 1 ] . substring ( 0 , array [ array . length - 1 ] . length - 2 ) ;
86
+ return `${ lastSelector } ${ folderName } ${ delimiter } "]` ;
87
+ }
88
+
89
+ /**
90
+ * Check tree view structure
91
+ * @param folders name of folders for tree view build
92
+ * @param delimiter string with delimiter value
93
+ */
94
+ async checkTreeViewFoldersStructure ( folders : string [ ] [ ] , delimiter : string ) : Promise < void > {
95
+ // Verify not patterned keys
96
+ await this . verifyNotPatternedKeys ( delimiter ) ;
97
+
77
98
const foldersNumber = folders . length ;
99
+
78
100
for ( let i = 0 ; i < foldersNumber ; i ++ ) {
79
101
const innerFoldersNumber = folders [ i ] . length ;
80
102
const array : string [ ] = [ ] ;
103
+
81
104
for ( let j = 0 ; j < innerFoldersNumber ; j ++ ) {
82
- if ( j === 0 ) {
83
- const folderSelector = `[data-testid="node-item_${ folders [ i ] [ j ] } ${ delimiter } "]` ;
84
- array . push ( folderSelector ) ;
85
- await t . click ( Selector ( folderSelector ) ) ;
86
- }
87
- else {
88
- const lastSelector = array [ array . length - 1 ] . substring ( 0 , array [ array . length - 1 ] . length - 2 ) ;
89
- const folderSelector = `${ lastSelector } ${ folders [ i ] [ j ] } ${ delimiter } "]` ;
90
- array . push ( folderSelector ) ;
91
- await t . click ( Selector ( folderSelector ) ) ;
92
- }
105
+ const folderSelector = this . getFolderSelector ( array , folders [ i ] [ j ] , delimiter ) ;
106
+ array . push ( folderSelector ) ;
107
+ await t . click ( Selector ( folderSelector ) ) ;
93
108
}
109
+
94
110
// Verify that the last folder level contains required keys
95
111
const foundKeyName = `${ folders [ i ] . join ( delimiter ) } ` ;
96
112
await t
0 commit comments