diff options
Diffstat (limited to 'test/scenario/HtmlUISpec.js')
-rw-r--r-- | test/scenario/HtmlUISpec.js | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/test/scenario/HtmlUISpec.js b/test/scenario/HtmlUISpec.js new file mode 100644 index 00000000..b2e2652f --- /dev/null +++ b/test/scenario/HtmlUISpec.js @@ -0,0 +1,87 @@ +describe('angular.scenario.HtmlUI', function() { + var ui; + var context; + var spec; + + 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'); + // Error + specUI = ui.addSpec(spec); + specUI.addStep('some step').finish(); + specUI.finish('error'); + // Failure + specUI = ui.addSpec(spec); + specUI.addStep('some step').finish('failure'); + specUI.finish('failure'); + // Failure + specUI = ui.addSpec(spec); + specUI.addStep('some step').finish('failure'); + specUI.finish('failure'); + // Failure + specUI = ui.addSpec(spec); + specUI.addStep('some step').finish('failure'); + specUI.finish('failure'); + // Success + specUI = ui.addSpec(spec); + specUI.addStep('some step').finish(); + specUI.finish(); + + expect(parseInt(context.find('#status-legend .status-failure').text())) + .toEqual(3); + expect(parseInt(context.find('#status-legend .status-error').text())) + .toEqual(2); + expect(parseInt(context.find('#status-legend .status-success').text())) + .toEqual(1); + }); + + it('should update timer when test completes', function() { + // Success + specUI = ui.addSpec(spec); + specUI.addStep('some step').finish(); + specUI.finish(); + + // Failure + specUI = ui.addSpec(spec); + specUI.addStep('some step').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$/); + }); + }); + +}); |