@@ -8,26 +8,23 @@ describe('Navigation menu - Create item', function () {
88 cy . intercept ( 'GET' , '**/api/navigation-menu' ) . as ( 'loadMenu' ) ;
99 navigationMenuPage . goToMenuEditor ( ) ;
1010 cy . wait ( '@loadMenu' , { timeout : 30000 } ) ;
11- cy . wait ( 1000 ) ;
1211 } ) ;
1312
1413 it ( 'element must be moved from templates to list' , ( ) => {
15- cy . wait ( 1000 ) ;
16-
1714 // Get initial count
1815 navigationMenuPage . getMenuItems ( ) . its ( 'length' ) . then ( initialCount => {
1916 navigationMenuPage . collapseTemplates ( 0 ) ;
2017 navigationMenuPage . createMenuItemFromTemplate ( 0 ) ;
21- cy . wait ( 500 ) ;
2218
23- // Verify count increased
19+ // Verify count increased - wait for DOM update
2420 navigationMenuPage . getMenuItems ( ) . should ( 'have.length' , initialCount + 1 ) ;
2521
22+ // Intercept save operation
23+ cy . intercept ( 'POST' , '**/api/navigation-menu' ) . as ( 'saveMenu' ) ;
2624 navigationMenuPage . clickSaveMenuBtn ( ) ;
27- cy . wait ( 500 ) ;
25+ cy . wait ( '@saveMenu' , { timeout : 30000 } ) ;
2826
2927 navigationMenuPage . openEditMenuItem ( 0 ) ;
30- cy . wait ( 500 ) ;
3128
3229 // Verify link field
3330 cy . get ( '#editLinkInput' ) . should ( 'have.value' , '/' ) ;
@@ -37,17 +34,16 @@ describe('Navigation menu - Create item', function () {
3734 cy . get ( '#editItemTranslation0_0_1' ) . should ( 'have.value' , 'Mine eForms' ) ;
3835 cy . get ( '#editItemTranslation0_0_2' ) . should ( 'have.value' , 'Meine eForms' ) ;
3936
37+ // Intercept edit save operation
38+ cy . intercept ( 'POST' , '**/api/navigation-menu' ) . as ( 'saveMenuEdit' ) ;
4039 navigationMenuPage . editItemSave ( ) ;
41- cy . wait ( 500 ) ;
40+ cy . wait ( '@saveMenuEdit' , { timeout : 30000 } ) ;
4241
4342 navigationMenuPage . collapseTemplates ( 0 ) ;
44- cy . wait ( 500 ) ;
4543 } ) ;
4644 } ) ;
4745
4846 it ( 'element must be created from custom link' , ( ) => {
49- cy . wait ( 1500 ) ;
50-
5147 const customLink = {
5248 securityGroups : [ ] ,
5349 link : 'test0' ,
@@ -57,18 +53,18 @@ describe('Navigation menu - Create item', function () {
5753 navigationMenuPage . getMenuItems ( ) . its ( 'length' ) . then ( initialCount => {
5854 navigationMenuPage . collapseTemplates ( 1 ) ;
5955 navigationMenuPage . createCustomLink ( customLink ) ;
60- cy . wait ( 1000 ) ;
6156
62- // Verify count increased
57+ // Verify count increased - wait for DOM update
6358 navigationMenuPage . getMenuItems ( ) . should ( 'have.length' , initialCount + 1 ) ;
6459
60+ // Intercept save operation
61+ cy . intercept ( 'POST' , '**/api/navigation-menu' ) . as ( 'saveMenu' ) ;
6562 navigationMenuPage . clickSaveMenuBtn ( ) ;
66- cy . wait ( 500 ) ;
63+ cy . wait ( '@saveMenu' , { timeout : 30000 } ) ;
6764
6865 // Open last item for editing
6966 navigationMenuPage . getMenuItems ( ) . its ( 'length' ) . then ( count => {
7067 navigationMenuPage . openEditMenuItem ( count - 1 ) ;
71- cy . wait ( 500 ) ;
7268
7369 // Verify link
7470 cy . get ( '#editLinkInput' ) . should ( 'have.value' , customLink . link ) ;
@@ -80,16 +76,15 @@ describe('Navigation menu - Create item', function () {
8076 } ) ;
8177 } ) ;
8278
83- cy . wait ( 500 ) ;
79+ // Intercept edit save operation
80+ cy . intercept ( 'POST' , '**/api/navigation-menu' ) . as ( 'saveMenuEdit' ) ;
8481 navigationMenuPage . editItemSave ( ) ;
85- cy . wait ( 500 ) ;
82+ cy . wait ( '@saveMenuEdit' , { timeout : 30000 } ) ;
8683 } ) ;
8784 } ) ;
8885 } ) ;
8986
9087 it ( 'element must be created from custom dropdown' , ( ) => {
91- cy . wait ( 1500 ) ;
92-
9388 const dropdown = {
9489 securityGroups : [ ] ,
9590 translations : [ 'test1' , 'test2' , 'test3' ]
@@ -98,18 +93,18 @@ describe('Navigation menu - Create item', function () {
9893 navigationMenuPage . getMenuItems ( ) . its ( 'length' ) . then ( initialCount => {
9994 navigationMenuPage . collapseTemplates ( 1 ) ;
10095 navigationMenuPage . createCustomDropdown ( dropdown ) ;
101- cy . wait ( 1500 ) ;
10296
103- // Verify count increased
97+ // Verify count increased - wait for DOM update
10498 navigationMenuPage . getMenuItems ( ) . should ( 'have.length' , initialCount + 1 ) ;
10599
100+ // Intercept save operation
101+ cy . intercept ( 'POST' , '**/api/navigation-menu' ) . as ( 'saveMenu' ) ;
106102 navigationMenuPage . clickSaveMenuBtn ( ) ;
107- cy . wait ( 500 ) ;
103+ cy . wait ( '@saveMenu' , { timeout : 30000 } ) ;
108104
109105 // Open last item for editing
110106 navigationMenuPage . getMenuItems ( ) . its ( 'length' ) . then ( count => {
111107 navigationMenuPage . openEditMenuItem ( count - 1 ) ;
112- cy . wait ( 500 ) ;
113108
114109 // Verify translations
115110 dropdown . translations . forEach ( ( translation , i ) => {
@@ -118,15 +113,15 @@ describe('Navigation menu - Create item', function () {
118113 } ) ;
119114 } ) ;
120115
116+ // Intercept edit save operation
117+ cy . intercept ( 'POST' , '**/api/navigation-menu' ) . as ( 'saveMenuEdit' ) ;
121118 navigationMenuPage . editItemSave ( ) ;
122- cy . wait ( 500 ) ;
119+ cy . wait ( '@saveMenuEdit' , { timeout : 30000 } ) ;
123120 } ) ;
124121 } ) ;
125122 } ) ;
126123
127124 it ( 'element must be created from custom dropdown with security group' , ( ) => {
128- cy . wait ( 1500 ) ;
129-
130125 const dropdown = {
131126 securityGroups : [ 'eForm admins' ] ,
132127 translations : [ 'test1' , 'test2' , 'test3' ]
@@ -135,18 +130,18 @@ describe('Navigation menu - Create item', function () {
135130 navigationMenuPage . getMenuItems ( ) . its ( 'length' ) . then ( initialCount => {
136131 navigationMenuPage . collapseTemplates ( 1 ) ;
137132 navigationMenuPage . createCustomDropdown ( dropdown ) ;
138- cy . wait ( 500 ) ;
139133
140- // Verify count increased
134+ // Verify count increased - wait for DOM update
141135 navigationMenuPage . getMenuItems ( ) . should ( 'have.length' , initialCount + 1 ) ;
142136
137+ // Intercept save operation
138+ cy . intercept ( 'POST' , '**/api/navigation-menu' ) . as ( 'saveMenu' ) ;
143139 navigationMenuPage . clickSaveMenuBtn ( ) ;
144- cy . wait ( 500 ) ;
140+ cy . wait ( '@saveMenu' , { timeout : 30000 } ) ;
145141
146142 // Open last item for editing
147143 navigationMenuPage . getMenuItems ( ) . its ( 'length' ) . then ( count => {
148144 navigationMenuPage . openEditMenuItem ( count - 1 ) ;
149- cy . wait ( 500 ) ;
150145
151146 // Verify security groups
152147 dropdown . securityGroups . forEach ( ( group , i ) => {
@@ -160,14 +155,17 @@ describe('Navigation menu - Create item', function () {
160155 } ) ;
161156 } ) ;
162157
158+ // Intercept edit save operation
159+ cy . intercept ( 'POST' , '**/api/navigation-menu' ) . as ( 'saveMenuEdit' ) ;
163160 navigationMenuPage . editItemSave ( ) ;
164- cy . wait ( 500 ) ;
161+ cy . wait ( '@saveMenuEdit' , { timeout : 30000 } ) ;
165162 } ) ;
166163 } ) ;
167164 } ) ;
168165
169166 afterEach ( ( ) => {
167+ cy . intercept ( 'POST' , '**/api/navigation-menu/reset' ) . as ( 'resetMenu' ) ;
170168 navigationMenuPage . resetMenu ( ) ;
171- cy . wait ( 2000 ) ;
169+ cy . wait ( '@resetMenu' , { timeout : 30000 } ) ;
172170 } ) ;
173171} ) ;
0 commit comments