1
1
import { browser , by , element , ExpectedConditions } from 'protractor' ;
2
- import { login , logout , waitForUrlToChangeTo , delay } from './utils' ;
2
+ import { login , logout , waitForUrlToChangeTo , delay , isLoaded } from './utils' ;
3
3
import {
4
4
request as pushEventRequest ,
5
5
requestD3 ,
@@ -34,6 +34,7 @@ describe('Builds', () => {
34
34
. then ( ( ) : any => browser . wait ( ( ) => element . all ( by . css ( '.list-item' ) ) . count ( ) . then ( cnt => {
35
35
return cnt === 1 ;
36
36
} ) ) )
37
+ . then ( ( ) => delay ( 2000 ) )
37
38
. then ( ( ) : any => browser . wait ( ( ) => {
38
39
return element . all ( by . css ( '.is-running' ) ) . count ( ) . then ( count => count === 1 ) ;
39
40
} ) )
@@ -46,6 +47,9 @@ describe('Builds', () => {
46
47
. then ( ( ) : any => browser . wait ( ( ) => {
47
48
return element ( by . css ( '.list-item:nth-child(1) .stop-build' ) ) . isPresent ( ) ;
48
49
} ) )
50
+ . then ( ( ) : any => browser . wait ( ( ) => {
51
+ return element ( by . css ( '.list-item:nth-child(1) .stop-build' ) ) . isEnabled ( ) ;
52
+ } ) )
49
53
. then ( ( ) => delay ( 2000 ) )
50
54
. then ( ( ) : any => element . all ( by . css ( '.list-item:nth-child(1) .stop-build' ) ) . click ( ) )
51
55
. then ( ( ) : any => browser . wait ( ( ) => {
@@ -65,7 +69,7 @@ describe('Builds', () => {
65
69
66
70
it ( 'should start new build (send reopen_pull_request event)' , ( ) => {
67
71
return sendGitHubRequest ( requestD3 , pushEventHeader )
68
- . then ( ( ) : any => browser . wait ( ( ) => element . all ( by . css ( '.list-item' ) ) . count ( ) . then ( cnt => {
72
+ . then ( ( ) : any => browser . wait ( ( ) => element . all ( by . css ( '.list-item' ) ) . count ( ) . then ( cnt => {
69
73
return cnt === 2 ;
70
74
} ) ) )
71
75
. then ( ( ) : any => browser . wait ( ( ) => {
@@ -80,6 +84,9 @@ describe('Builds', () => {
80
84
. then ( ( ) : any => browser . wait ( ( ) => {
81
85
return element . all ( by . css ( '.list-item:nth-child(1) .stop-build' ) ) . isPresent ( ) ;
82
86
} ) )
87
+ . then ( ( ) : any => browser . wait ( ( ) => {
88
+ return element . all ( by . css ( '.list-item:nth-child(1) .stop-build' ) ) . isEnabled ( ) ;
89
+ } ) )
83
90
. then ( ( ) : any => {
84
91
return browser . wait ( ( ) => {
85
92
const el = element ( by . css ( '.list-item:nth-child(1) .stop-build' ) ) ;
@@ -110,6 +117,9 @@ describe('Builds', () => {
110
117
. then ( ( ) : any => browser . wait ( ( ) => {
111
118
return element . all ( by . css ( '.list-item:nth-child(1) .stop-build' ) ) . isPresent ( ) ;
112
119
} ) )
120
+ . then ( ( ) : any => browser . wait ( ( ) => {
121
+ return element . all ( by . css ( '.list-item:nth-child(1) .stop-build' ) ) . isEnabled ( ) ;
122
+ } ) )
113
123
. then ( ( ) : any => {
114
124
return browser . wait ( ( ) => {
115
125
const el = element ( by . css ( '.list-item:nth-child(1) .stop-build' ) ) ;
@@ -131,6 +141,9 @@ describe('Builds', () => {
131
141
. then ( ( ) : any => browser . wait ( ( ) => {
132
142
return element . all ( by . css ( '.restart-build' ) ) . first ( ) . isPresent ( ) ;
133
143
} ) )
144
+ . then ( ( ) : any => browser . wait ( ( ) => {
145
+ return element . all ( by . css ( '.restart-build' ) ) . first ( ) . isEnabled ( ) ;
146
+ } ) )
134
147
. then ( ( ) => delay ( 2000 ) )
135
148
. then ( ( ) : any => element . all ( by . css ( '.restart-build' ) ) . first ( ) . click ( ) )
136
149
. then ( ( ) : any => browser . wait ( ( ) => {
@@ -143,13 +156,17 @@ describe('Builds', () => {
143
156
. then ( ( ) : any => browser . wait ( ( ) => {
144
157
return element . all ( by . css ( '.stop-build' ) ) . first ( ) . isPresent ( ) ;
145
158
} ) )
159
+ . then ( ( ) : any => browser . wait ( ( ) => {
160
+ return element . all ( by . css ( '.stop-build' ) ) . first ( ) . isDisplayed ( ) ;
161
+ } ) )
162
+ . then ( ( ) : any => browser . wait ( ( ) => {
163
+ return element . all ( by . css ( '.stop-build' ) ) . first ( ) . isEnabled ( ) ;
164
+ } ) )
165
+ . then ( ( ) => delay ( 2000 ) )
146
166
. then ( ( ) : any => {
147
- return browser . wait ( ( ) => {
148
- const el = element ( by . css ( '.stop-build' ) ) ;
149
- return ExpectedConditions . elementToBeClickable ( el ) ;
150
- } ) ;
167
+ return browser . wait ( ( ) =>
168
+ ExpectedConditions . elementToBeClickable ( element . all ( by . css ( '.stop-build' ) ) . first ( ) ) ) ;
151
169
} )
152
- . then ( ( ) => delay ( 2000 ) )
153
170
. then ( ( ) : any => element . all ( by . css ( '.stop-build' ) ) . first ( ) . click ( ) )
154
171
. then ( ( ) : any => browser . wait ( ( ) => {
155
172
return element . all ( by . css ( '.is-running' ) ) . count ( ) . then ( count => count === 0 ) ;
@@ -164,6 +181,9 @@ describe('Builds', () => {
164
181
. then ( ( ) : any => browser . wait ( ( ) => {
165
182
return element . all ( by . css ( '.restart-build' ) ) . first ( ) . isPresent ( ) ;
166
183
} ) )
184
+ . then ( ( ) : any => browser . wait ( ( ) => {
185
+ return element . all ( by . css ( '.restart-build' ) ) . first ( ) . isEnabled ( ) ;
186
+ } ) )
167
187
. then ( ( ) => delay ( 2000 ) )
168
188
. then ( ( ) : any => element . all ( by . css ( '.restart-build' ) ) . first ( ) . click ( ) )
169
189
. then ( ( ) : any => browser . wait ( ( ) => {
@@ -172,19 +192,37 @@ describe('Builds', () => {
172
192
. then ( ( ) : any => browser . wait ( ( ) => {
173
193
return element ( by . css ( '.build-time' ) ) . isPresent ( ) ;
174
194
} ) )
195
+ . then ( ( ) : any => browser . wait ( ( ) => {
196
+ return element ( by . css ( '.build-time' ) ) . isDisplayed ( ) ;
197
+ } ) )
198
+ . then ( ( ) : any => {
199
+ return browser . wait ( ( ) => element . all ( by . css ( '.build-time' ) ) . first ( )
200
+ . getAttribute ( 'innerHTML' ) . then ( html => html . trim ( ) === '00:04' ) ) ;
201
+ } )
202
+ . then ( ( ) => browser . get ( '/' ) )
203
+ . then ( ( ) => isLoaded ( ) )
204
+ . then ( ( ) => delay ( 1000 ) )
205
+ . then ( ( ) : any => {
206
+ return browser . wait ( ( ) => element . all ( by . css ( '.build-time' ) ) . first ( )
207
+ . getAttribute ( 'innerHTML' ) . then ( html => html . trim ( ) === '00:08' ) ) ;
208
+ } )
175
209
. then ( ( ) : any => browser . wait ( ( ) => {
176
210
return element . all ( by . css ( '.disabled' ) ) . count ( ) . then ( cnt => cnt === 0 ) ;
177
211
} ) )
178
212
. then ( ( ) : any => browser . wait ( ( ) => {
179
213
return element . all ( by . css ( '.stop-build' ) ) . first ( ) . isPresent ( ) ;
180
214
} ) )
215
+ . then ( ( ) : any => browser . wait ( ( ) => {
216
+ return element . all ( by . css ( '.stop-build' ) ) . first ( ) . isDisplayed ( ) ;
217
+ } ) )
218
+ . then ( ( ) : any => browser . wait ( ( ) => {
219
+ return element . all ( by . css ( '.stop-build' ) ) . first ( ) . isEnabled ( ) ;
220
+ } ) )
221
+ . then ( ( ) => delay ( 2000 ) )
181
222
. then ( ( ) : any => {
182
- return browser . wait ( ( ) => {
183
- const el = element ( by . css ( '.stop-build' ) ) ;
184
- return ExpectedConditions . elementToBeClickable ( el ) ;
185
- } ) ;
223
+ return browser . wait ( ( ) =>
224
+ ExpectedConditions . elementToBeClickable ( element . all ( by . css ( '.stop-build' ) ) . first ( ) ) ) ;
186
225
} )
187
- . then ( ( ) => delay ( 2000 ) )
188
226
. then ( ( ) : any => element . all ( by . css ( '.stop-build' ) ) . first ( ) . click ( ) )
189
227
. then ( ( ) : any => browser . wait ( ( ) => {
190
228
return element . all ( by . css ( '.is-running' ) ) . count ( ) . then ( count => count === 0 ) ;
0 commit comments