/
synchronize_spec.js
88 lines (62 loc) · 2.34 KB
/
synchronize_spec.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
var util = require('util');
describe('synchronizing with slow pages', function() {
var ptor = protractor.getInstance();
beforeEach(function() {
ptor.get('app/index.html#/async');
});
it('waits for http calls', function() {
var status =
ptor.findElement(protractor.By.binding('slowHttpStatus'));
var button = ptor.findElement(protractor.By.css('[ng-click="slowHttp()"]'));
expect(status.getText()).toEqual('not started');
button.click();
expect(status.getText()).toEqual('done');
});
it('waits for long javascript execution', function() {
var status =
ptor.findElement(protractor.By.binding('slowFunctionStatus'));
var button =
ptor.findElement(protractor.By.css('[ng-click="slowFunction()"]'));
expect(status.getText()).toEqual('not started');
button.click();
expect(status.getText()).toEqual('done');
});
it('DOES NOT wait for timeout', function() {
var status =
ptor.findElement(protractor.By.binding('slowTimeoutStatus'));
var button =
ptor.findElement(protractor.By.css('[ng-click="slowTimeout()"]'));
expect(status.getText()).toEqual('not started');
button.click();
expect(status.getText()).toEqual('pending...');
});
it('waits for $timeout', function() {
var status =
ptor.findElement(protractor.By.binding('slowAngularTimeoutStatus'));
var button =
ptor.findElement(protractor.By.css('[ng-click="slowAngularTimeout()"]'));
expect(status.getText()).toEqual('not started');
button.click();
expect(status.getText()).toEqual('done');
});
it('waits for $timeout then a promise', function() {
var status =
ptor.findElement(protractor.By.binding(
'slowAngularTimeoutPromiseStatus'));
var button =
ptor.findElement(protractor.By.css(
'[ng-click="slowAngularTimeoutPromise()"]'));
expect(status.getText()).toEqual('not started');
button.click();
expect(status.getText()).toEqual('done');
});
it('waits for long http call then a promise', function() {
var status =
ptor.findElement(protractor.By.binding('slowHttpPromiseStatus'));
var button =
ptor.findElement(protractor.By.css('[ng-click="slowHttpPromise()"]'));
expect(status.getText()).toEqual('not started');
button.click();
expect(status.getText()).toEqual('done');
});
});