Simon Hunt

GUI -- Fixing broken Jasmine unit tests.

Change-Id: Ic0c9754c6fcf66d755067467be32d8275b7ffc3d
...@@ -73,7 +73,9 @@ describe('factory: fw/layer/panel.js', function () { ...@@ -73,7 +73,9 @@ describe('factory: fw/layer/panel.js', function () {
73 edge: 'right', 73 edge: 'right',
74 width: 200, 74 width: 200,
75 margin: 20, 75 margin: 20,
76 - xtnTime: 750 76 + hideMargin: 20,
77 + xtnTime: 750,
78 + fade: true
77 }); 79 });
78 80
79 // check basic properties 81 // check basic properties
...@@ -128,7 +130,9 @@ describe('factory: fw/layer/panel.js', function () { ...@@ -128,7 +130,9 @@ describe('factory: fw/layer/panel.js', function () {
128 edge: 'left', 130 edge: 'left',
129 width: 250, 131 width: 250,
130 margin: 20, 132 margin: 20,
131 - xtnTime: 750 133 + hideMargin: 20,
134 + xtnTime: 750,
135 + fade: true
132 }); 136 });
133 }); 137 });
134 138
......
...@@ -18,28 +18,28 @@ ...@@ -18,28 +18,28 @@
18 ONOS GUI -- Widget -- Button Service - Unit Tests 18 ONOS GUI -- Widget -- Button Service - Unit Tests
19 */ 19 */
20 describe('factory: fw/widget/button.js', function () { 20 describe('factory: fw/widget/button.js', function () {
21 - var $log, fs, bns, gs, 21 + var $log, fs, bns, d3Elem;
22 - d3Elem;
23 22
24 beforeEach(module('onosWidget', 'onosSvg')); 23 beforeEach(module('onosWidget', 'onosSvg'));
25 24
26 - beforeEach(inject(function (_$log_, FnService, 25 + beforeEach(inject(function (_$log_, FnService, ButtonService) {
27 - ButtonService, GlyphService) {
28 $log = _$log_; 26 $log = _$log_;
29 fs = FnService; 27 fs = FnService;
30 bns = ButtonService; 28 bns = ButtonService;
31 - gs = GlyphService;
32 })); 29 }));
33 30
34 beforeEach(function () { 31 beforeEach(function () {
35 - gs.init(); 32 + d3Elem = d3.select('body').append('div').attr('id', 'testDiv');
36 - d3Elem = d3.select('body').append('div').attr('id', 'testToolbar');
37 }); 33 });
38 34
39 afterEach(function () { 35 afterEach(function () {
40 - d3.select('#testToolbar').remove(); 36 + d3.select('#testDiv').remove();
41 }); 37 });
42 38
39 +
40 + // re-usable null function
41 + function nullFunc () {}
42 +
43 it('should define ButtonService', function () { 43 it('should define ButtonService', function () {
44 expect(bns).toBeDefined(); 44 expect(bns).toBeDefined();
45 }); 45 });
...@@ -51,19 +51,21 @@ describe('factory: fw/widget/button.js', function () { ...@@ -51,19 +51,21 @@ describe('factory: fw/widget/button.js', function () {
51 }); 51 });
52 52
53 it('should verify button glyph', function () { 53 it('should verify button glyph', function () {
54 - var btn = bns.button(d3Elem, 'tbar0-btn-0', 'crown', function () {}); 54 + var btn = bns.button(d3Elem, 'foo-id', 'crown', nullFunc);
55 - expect((btn.el).classed('btn')).toBeTruthy(); 55 + var el = d3Elem.select('#foo-id');
56 - expect((btn.el).attr('id')).toBe('tbar0-btn-0'); 56 + expect(el.classed('button')).toBeTruthy();
57 - expect((btn.el).select('svg')).toBeTruthy(); 57 + expect(el.attr('id')).toBe('foo-id');
58 - expect((btn.el).select('use')).toBeTruthy(); 58 + expect(el.select('svg')).toBeTruthy();
59 - expect((btn.el).select('use').classed('glyph')).toBeTruthy(); 59 + expect(el.select('use')).toBeTruthy();
60 - expect((btn.el).select('use').attr('xlink:href')).toBe('#crown'); 60 + expect(el.select('use').classed('glyph')).toBeTruthy();
61 + expect(el.select('use').attr('xlink:href')).toBe('#crown');
61 }); 62 });
62 63
64 +
63 it('should not append button to an undefined div', function () { 65 it('should not append button to an undefined div', function () {
64 spyOn($log, 'warn'); 66 spyOn($log, 'warn');
65 - expect(bns.button(undefined, 'id', 'gid', function () {})).toBeNull(); 67 + expect(bns.button(null, 'id', 'gid', nullFunc)).toBeNull();
66 - expect($log.warn).toHaveBeenCalledWith('Button cannot append to div'); 68 + expect($log.warn).toHaveBeenCalledWith('div undefined (button)');
67 }); 69 });
68 70
69 it('should verify button callback', function () { 71 it('should verify button callback', function () {
...@@ -71,7 +73,7 @@ describe('factory: fw/widget/button.js', function () { ...@@ -71,7 +73,7 @@ describe('factory: fw/widget/button.js', function () {
71 function cb() { count++; } 73 function cb() { count++; }
72 var btn = bns.button(d3Elem, 'test', 'nothing', cb); 74 var btn = bns.button(d3Elem, 'test', 'nothing', cb);
73 expect(count).toBe(0); 75 expect(count).toBe(0);
74 - btn.click(); 76 + d3Elem.select('#test').on('click')();
75 expect(count).toBe(1); 77 expect(count).toBe(1);
76 }); 78 });
77 79
...@@ -79,26 +81,25 @@ describe('factory: fw/widget/button.js', function () { ...@@ -79,26 +81,25 @@ describe('factory: fw/widget/button.js', function () {
79 var count = 0; 81 var count = 0;
80 var btn = bns.button(d3Elem, 'test', 'nothing', 'foo'); 82 var btn = bns.button(d3Elem, 'test', 'nothing', 'foo');
81 expect(count).toBe(0); 83 expect(count).toBe(0);
82 - btn.click(); 84 + d3Elem.select('#test').on('click')();
83 expect(count).toBe(0); 85 expect(count).toBe(0);
84 }); 86 });
85 87
86 it('should not append toggle to an undefined div', function () { 88 it('should not append toggle to an undefined div', function () {
87 spyOn($log, 'warn'); 89 spyOn($log, 'warn');
88 - expect(bns.toggle(undefined, 'id', 'gid', false, 90 + expect(bns.toggle(undefined, 'id', 'gid', false, nullFunc)).toBeNull();
89 - function () {})).toBeNull(); 91 + expect($log.warn).toHaveBeenCalledWith('div undefined (toggle button)');
90 - expect($log.warn).toHaveBeenCalledWith('Toggle cannot append to div');
91 }); 92 });
92 93
93 it('should verify toggle glyph', function () { 94 it('should verify toggle glyph', function () {
94 - var tog = bns.toggle(d3Elem, 'tbar0-tog-0', 'crown', 95 + var tog = bns.toggle(d3Elem, 'foo-id', 'crown', false, nullFunc);
95 - false, function () {}); 96 + var el = d3Elem.select('#foo-id');
96 - expect((tog.el).classed('tog')).toBeTruthy(); 97 + expect(el.classed('toggleButton')).toBeTruthy();
97 - expect((tog.el).attr('id')).toBe('tbar0-tog-0'); 98 + expect(el.attr('id')).toBe('foo-id');
98 - expect((tog.el).select('svg')).toBeTruthy(); 99 + expect(el.select('svg')).toBeTruthy();
99 - expect((tog.el).select('use')).toBeTruthy(); 100 + expect(el.select('use')).toBeTruthy();
100 - expect((tog.el).select('use').classed('glyph')).toBeTruthy(); 101 + expect(el.select('use').classed('glyph')).toBeTruthy();
101 - expect((tog.el).select('use').attr('xlink:href')).toBe('#crown'); 102 + expect(el.select('use').attr('xlink:href')).toBe('#crown');
102 }); 103 });
103 104
104 it('should toggle the selected state', function () { 105 it('should toggle the selected state', function () {
...@@ -138,27 +139,31 @@ describe('factory: fw/widget/button.js', function () { ...@@ -138,27 +139,31 @@ describe('factory: fw/widget/button.js', function () {
138 it('should not append radio button set to an undefined div', function () { 139 it('should not append radio button set to an undefined div', function () {
139 spyOn($log, 'warn'); 140 spyOn($log, 'warn');
140 expect(bns.radioSet(undefined, 'id', [])).toBeNull(); 141 expect(bns.radioSet(undefined, 'id', [])).toBeNull();
141 - expect($log.warn).toHaveBeenCalledWith('Radio buttons cannot append ' + 142 + expect($log.warn).toHaveBeenCalledWith('div undefined (radio button set)');
142 - 'to div');
143 }); 143 });
144 144
145 it('should not create radio button set from a non-array', function () { 145 it('should not create radio button set from a non-array', function () {
146 var rads = {test: 'test'}; 146 var rads = {test: 'test'};
147 + var warning = 'invalid array (radio button set)';
148 +
147 spyOn($log, 'warn'); 149 spyOn($log, 'warn');
148 150
149 expect(bns.radioSet(d3Elem, 'test', rads)).toBeNull(); 151 expect(bns.radioSet(d3Elem, 'test', rads)).toBeNull();
150 - expect($log.warn).toHaveBeenCalledWith('Radio button set is not ' + 152 + expect($log.warn).toHaveBeenCalledWith(warning);
151 - 'an array');
152 rads = 'rads'; 153 rads = 'rads';
153 expect(bns.radioSet(d3Elem, 'test', rads)).toBeNull(); 154 expect(bns.radioSet(d3Elem, 'test', rads)).toBeNull();
154 - expect($log.warn).toHaveBeenCalledWith('Radio button set is not ' + 155 + expect($log.warn).toHaveBeenCalledWith(warning);
155 - 'an array');
156 rads = {arr: [1, 2, 3]}; 156 rads = {arr: [1, 2, 3]};
157 expect(bns.radioSet(d3Elem, 'test', rads)).toBeNull(); 157 expect(bns.radioSet(d3Elem, 'test', rads)).toBeNull();
158 - expect($log.warn).toHaveBeenCalledWith('Radio button set is not ' + 158 + expect($log.warn).toHaveBeenCalledWith(warning);
159 - 'an array');
160 }); 159 });
161 160
161 + // ===================================================================
162 + // ===================================================================
163 + // ===================================================================
164 +
165 +
166 +
162 it('should not create radio button set from empty array', function () { 167 it('should not create radio button set from empty array', function () {
163 var rads = []; 168 var rads = [];
164 spyOn($log, 'warn'); 169 spyOn($log, 'warn');
......
...@@ -24,7 +24,7 @@ module.exports = function(config) { ...@@ -24,7 +24,7 @@ module.exports = function(config) {
24 24
25 // production code... 25 // production code...
26 // make sure modules are defined first... 26 // make sure modules are defined first...
27 - '../app/onos.js', 27 + '../onos.js',
28 28
29 '../app/fw/util/util.js', 29 '../app/fw/util/util.js',
30 '../app/fw/svg/svg.js', 30 '../app/fw/svg/svg.js',
......