Skip to content

Commit ec4b47a

Browse files
Levis PepinLevis Pepin
Levis Pepin
authored and
Levis Pepin
committed
Updated testing suite and fixed compatibility with ember 2.4-LTS and ember 2.8-LTS (broken in last commit)
1 parent 53a9668 commit ec4b47a

File tree

2 files changed

+37
-29
lines changed

2 files changed

+37
-29
lines changed

addon/components/ember-chart.js

+12-9
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ export default Ember.Component.extend({
1111
let data = this.get('data');
1212
let type = this.get('type');
1313
let options = this.get('options');
14-
14+
1515
let chart = new Chart(context, {
1616
type: type,
1717
data: data,
@@ -27,17 +27,20 @@ export default Ember.Component.extend({
2727

2828
didUpdateAttrs() {
2929
this._super(...arguments);
30+
3031
let chart = this.get('chart');
3132
let data = this.get('data');
3233
let options = this.get('options');
3334
let animate = this.get('animate');
34-
35-
chart.config.data = data;
36-
chart.config.options = options;
37-
if (animate) {
38-
chart.update();
39-
} else {
40-
chart.update(0);
41-
}
35+
36+
if (chart) {
37+
chart.config.data = data;
38+
chart.config.options = options;
39+
if (animate) {
40+
chart.update();
41+
} else {
42+
chart.update(0);
43+
}
44+
}
4245
}
4346
});

tests/unit/components/ember-chart-test.js

+25-20
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ moduleForComponent('ember-chart', 'EmberChartComponent', {
99
});
1010

1111
// Test Data
12-
var ChartTestData = Ember.Object.extend({
12+
let ChartTestData = Ember.Object.extend({
1313
pieValue1: 300,
1414
pieValue2: 50,
1515
pieValue3: 100,
@@ -166,113 +166,118 @@ var ChartTestData = Ember.Object.extend({
166166
}),
167167
});
168168

169-
var testData = ChartTestData.create();
169+
let testData = ChartTestData.create();
170170
// Test Data
171171

172172

173173
test('it can be a pie chart', function(assert) {
174-
var component = this.subject({
174+
let component = this.subject({
175175
type: 'pie',
176176
data: testData.get('pieData')
177177
});
178178

179179
this.render();
180-
var chart = component.get('chart');
181-
180+
let chart = component.get('chart');
182181
assert.equal(chart.config.type, 'pie');
183182
assert.equal(chart.data.datasets[0].data.length, 3);
184183
});
185184

186185
test('it can be a line chart', function(assert) {
187-
var component = this.subject({
186+
let component = this.subject({
188187
type: 'line',
189188
data: testData.get('lineData')
190189
});
191190

192191
this.render();
193-
var chart = component.get('chart');
192+
let chart = component.get('chart');
194193

195194
assert.equal(chart.config.type, 'line');
196195
assert.equal(chart.data.datasets.length, 2);
197196
});
198197

199198
test('it can be a bar chart', function(assert) {
200-
var component = this.subject({
199+
let component = this.subject({
201200
type: 'bar',
202201
data: testData.get('lineData')
203202
});
204203

205204
this.render();
206-
var chart = component.get('chart');
205+
let chart = component.get('chart');
207206

208207
assert.equal(chart.config.type, 'bar');
209208
assert.equal(chart.data.datasets.length, 2);
210209
});
211210

212211
test('it can be a Radar chart', function(assert) {
213-
var component = this.subject({
212+
let component = this.subject({
214213
type: 'radar',
215214
data: testData.get('lineData')
216215
});
217216

218217
this.render();
219-
var chart = component.get('chart');
218+
let chart = component.get('chart');
220219

221220
assert.equal(chart.config.type, 'radar');
222221
assert.equal(chart.data.datasets.length, 2);
223222
});
224223

225224
test('it can be a Polar Area chart', function(assert) {
226-
var component = this.subject({
225+
let component = this.subject({
227226
type: 'polarArea',
228227
data: testData.get('pieData')
229228
});
230229

231230
this.render();
232-
var chart = component.get('chart');
231+
let chart = component.get('chart');
233232

234233
assert.equal(chart.config.type, 'polarArea');
235234
assert.equal(chart.data.datasets[0].data.length, 3);
236235
});
237236

238237
test('it should update pie charts dynamically', function(assert) {
239-
var component = this.subject({
238+
assert.expect(2);
239+
let component = this.subject({
240240
type: 'pie',
241241
data: testData.get('pieData')
242242
});
243243

244244
this.render();
245-
var chart = component.get('chart');
245+
let chart = component.get('chart');
246246
assert.equal(chart.data.datasets[0].data[0], 300);
247247

248248
// Update Data
249249
testData.set('pieValue1', 600);
250250
component.set('data', testData.get('pieData'));
251+
component.didUpdateAttrs();
251252

252253
chart = component.get('chart');
253254
assert.equal(chart.data.datasets[0].data[0], 600);
254255
});
255256

256257
test('it should update charts dynamically', function(assert) {
257-
var component = this.subject({
258+
assert.expect(3);
259+
let component = this.subject({
258260
type: 'line',
259261
data: testData.get('lineData')
260-
});
262+
});
261263

262-
this.render();
263-
var chart = component.get('chart');
264+
this.render();
265+
let chart = component.get('chart');
264266
assert.equal(chart.data.datasets[0].data[0], 65);
265267

266268
// Update Data
267269
testData.set('lineValue1', 105);
268270
component.set('data', testData.get('lineData'));
269-
271+
component.didUpdateAttrs();
272+
270273
chart = component.get('chart');
271274
assert.equal(chart.data.datasets[0].data[0], 105);
272275

276+
273277
// Update Labels
274278
testData.set('labelValue1', 'December');
275279
component.set('data', testData.get('lineData'));
280+
component.didUpdateAttrs();
276281

277282
chart = component.get('chart');
278283
assert.equal(chart.data.labels[0], 'December');

0 commit comments

Comments
 (0)