It appears the Qunit test methods aren't available even though I'm pretty sure I am importing them correctly.
I get the following errors:
unit/models/friend-test.js: line 11, col 3, 'ok' is not defined.
unit/models/friend-test.js: line 17, col 3, 'equal' is not defined.
unit/models/friend-test.js: line 23, col 3, 'equal' is not defined.
unit/models/friend-test.js: line 31, col 3, 'equal' is not defined.
unit/models/friend-test.js: line 32, col 3, 'equal' is not defined.
I have this test file unit/models/friend-test
:
import Ember from 'ember';
import { moduleForModel, test } from 'ember-qunit';
moduleForModel('friend', 'Friend', {
needs: ['model:article']
});
test('it exists', function() {
var model = this.subject();
ok(model);
});
test('fullName concats first and last name', function() {
var model = this.subject({firstName: 'Syd', lastName: 'Barrett'});
equal(model.get('fullName'), 'Syd Barrett');
Ember.run(function() {
model.set('firstName', 'Geddy');
});
equal(model.get('fullName'), 'Geddy Barrett', 'Updates fullName');
});
test('articles relationship', function() {
var klass = this.subject({}).constructor;
var relationship = Ember.get(klass, 'relationshipsByName').get('articles');
equal(relationship.key, 'articles');
equal(relationship.kind, 'hasMany');
});
I'm working through "Ember CLI 101"
Author here! Sorry about it, I actually need to update the code since on the latest release the syntax for tests changed to match the upcoming version of QUNit.
Now to use: equal
, ok
and the other QUnit's assertions, we have to do it through a param called assert in the callback function passed to test:
test('foo', function(assert){ assert.ok(true) }
. I'll send a book update tonight to fix this :), in the meantime, the following should work:
import Ember from 'ember';
import { moduleForModel, test } from 'ember-qunit';
moduleForModel('friend', 'Friend', {
needs: ['model:article']
});
test('it exists', function(assert) {
var model = this.subject();
assert.ok(model);
});
test('fullName concats first and last name', function(assert) {
var model = this.subject({firstName: 'Syd', lastName: 'Barrett'});
equal(model.get('fullName'), 'Syd Barrett');
Ember.run(function(assert) {
model.set('firstName', 'Geddy');
});
assert.equal(model.get('fullName'), 'Geddy Barrett', 'Updates fullName');
});
test('articles relationship', function(assert) {
var klass = this.subject({}).constructor;
var relationship = Ember.get(klass, 'relationshipsByName').get('articles');
assert.equal(relationship.key, 'articles');
assert.equal(relationship.kind, 'hasMany');
});
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With