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
89
90
91
92
93
94
95
96
97
98
|
describe('angular.scenario.HtmlUI', function() {
var ui;
var context;
var spec;
function line() { return 'unknown:-1'; }
beforeEach(function() {
spec = {
name: 'test spec',
definition: {
id: 10,
name: 'child',
children: [],
parent: {
id: 20,
name: 'parent',
children: []
}
}
};
context = _jQuery("<div></div>");
ui = new angular.scenario.ui.Html(context);
});
it('should create nested describe context', function() {
ui.addSpec(spec);
expect(context.find('#describe-20 #describe-10 > h2').text()).
toEqual('describe: child');
expect(context.find('#describe-20 > h2').text()).toEqual('describe: parent');
expect(context.find('#describe-10 .tests > li .test-info .test-name').text()).
toEqual('it test spec');
expect(context.find('#describe-10 .tests > li').hasClass('status-pending')).
toBeTruthy();
});
it('should update totals when steps complete', function() {
// Error
ui.addSpec(spec).error('error');
// Failure
specUI = ui.addSpec(spec);
specUI.addStep('some step', line).finish('failure');
specUI.finish();
// Failure
specUI = ui.addSpec(spec);
specUI.addStep('some step', line).finish('failure');
specUI.finish();
// Failure
specUI = ui.addSpec(spec);
specUI.addStep('some step', line).finish('failure');
specUI.finish();
// Success
specUI = ui.addSpec(spec);
specUI.addStep('some step', line).finish();
specUI.finish();
// Success
specUI = ui.addSpec(spec);
specUI.addStep('another step', line).finish();
specUI.finish();
expect(parseInt(context.find('#status-legend .status-failure').text(), 10)).
toEqual(3);
expect(parseInt(context.find('#status-legend .status-success').text(), 10)).
toEqual(2);
expect(parseInt(context.find('#status-legend .status-error').text(), 10)).
toEqual(1);
});
it('should update timer when test completes', function() {
// Success
specUI = ui.addSpec(spec);
specUI.addStep('some step', line).finish();
specUI.finish();
// Failure
specUI = ui.addSpec(spec);
specUI.addStep('some step', line).finish('failure');
specUI.finish('failure');
// Error
specUI = ui.addSpec(spec).error('error');
context.find('#describe-10 .tests > li .test-info .timer-result').
each(function(index, timer) {
expect(timer.innerHTML).toMatch(/ms$/);
});
});
it('should include line if provided', function() {
specUI = ui.addSpec(spec);
specUI.addStep('some step', line).finish('error!');
specUI.finish();
var errorHtml = context.find('#describe-10 .tests li pre').html();
expect(errorHtml.indexOf('unknown:-1')).toEqual(0);
});
});
|