Skip to content

Commit de5c36c

Browse files
committed
refactor(server-tests): use sinon-chai and mocha.conf.js
Changes: - add `mocha.conf.js` and use it as a `require` in `mochaTest` task - switch `should.js` for `mocha-chai` - change server-side test assertions to user chai assertions Breaking Changes: - should.js is no longer included, chai assertions should be used instead.
1 parent c018ae8 commit de5c36c

File tree

7 files changed

+29
-20
lines changed

7 files changed

+29
-20
lines changed

Diff for: app/templates/Gruntfile.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -486,7 +486,8 @@ module.exports = function (grunt) {
486486

487487
mochaTest: {
488488
options: {
489-
reporter: 'spec'
489+
reporter: 'spec',
490+
require: 'mocha.conf.js'
490491
},
491492
src: ['server/**/*.spec.js']
492493
},

Diff for: app/templates/_package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
"socketio-jwt": "^2.0.2"<% } %>
3131
},
3232
"devDependencies": {
33+
"chai-as-promised": "^4.1.1",
3334
"grunt": "~0.4.4",
3435
"grunt-autoprefixer": "~0.7.2",
3536
"grunt-wiredep": "~1.8.0",
@@ -86,7 +87,7 @@
8687
"karma": "~0.12.9",
8788
"karma-ng-html2js-preprocessor": "~0.1.0",
8889
"supertest": "~0.11.0",
89-
"should": "~3.3.1"
90+
"sinon-chai": "^2.5.0"
9091
},
9192
"engines": {
9293
"node": ">=0.10.0"

Diff for: app/templates/mocha.conf.js

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
'use strict';
2+
3+
var chai = require('chai');
4+
var sinon = require('sinon');
5+
var sinonChai = require('sinon-chai');
6+
var chaiAsPromised = require('chai-as-promised');
7+
8+
global.expect = chai.expect;
9+
global.assert = chai.assert;
10+
chai.should();
11+
chai.use(sinonChai);
12+
chai.use(chaiAsPromised);

Diff for: app/templates/server/api/thing/thing.spec.js

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
'use strict';
22

3-
var should = require('should');
43
var app = require('../../app');
54
var request = require('supertest');
65

@@ -13,7 +12,7 @@ describe('GET /api/things', function() {
1312
.expect('Content-Type', /json/)
1413
.end(function(err, res) {
1514
if (err) return done(err);
16-
res.body.should.be.instanceof(Array);
15+
res.body.should.be.instanceOf(Array);
1716
done();
1817
});
1918
});

Diff for: app/templates/server/api/user(auth)/user.model.spec.js

+8-12
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
'use strict';
22

3-
var should = require('should');
43
var app = require('../../app');
54
var User = require('./user.model');
65

@@ -12,17 +11,14 @@ var user = new User({
1211
});
1312

1413
describe('User Model', function() {
15-
before(function(done) {
16-
// Clear users before testing
17-
User.remove().exec().then(function() {
18-
done();
19-
});
14+
15+
// Clear users before testing
16+
before(function() {
17+
return User.remove().exec();
2018
});
2119

22-
afterEach(function(done) {
23-
User.remove().exec().then(function() {
24-
done();
25-
});
20+
afterEach(function() {
21+
return User.remove().exec();
2622
});
2723

2824
it('should begin with no users', function(done) {
@@ -36,7 +32,7 @@ describe('User Model', function() {
3632
user.save(function() {
3733
var userDup = new User(user);
3834
userDup.save(function(err) {
39-
should.exist(err);
35+
err.should.be.instanceOf(Error);
4036
done();
4137
});
4238
});
@@ -45,7 +41,7 @@ describe('User Model', function() {
4541
it('should fail when saving without an email', function(done) {
4642
user.email = '';
4743
user.save(function(err) {
48-
should.exist(err);
44+
err.should.be.instanceOf(Error);
4945
done();
5046
});
5147
});

Diff for: endpoint/templates/name.spec.js

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
'use strict';
22

3-
var should = require('should');
43
var app = require('../../app');
54
var request = require('supertest');
65

@@ -13,8 +12,8 @@ describe('GET <%= route %>', function() {
1312
.expect('Content-Type', /json/)
1413
.end(function(err, res) {
1514
if (err) return done(err);
16-
res.body.should.be.instanceof(Array);
15+
res.body.should.be.instanceOf(Array);
1716
done();
1817
});
1918
});
20-
});
19+
});

Diff for: test/fixtures/package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
"socketio-jwt": "^2.0.2"
3131
},
3232
"devDependencies": {
33+
"chai-as-promised": "^4.1.1",
3334
"grunt": "~0.4.4",
3435
"grunt-autoprefixer": "~0.7.2",
3536
"grunt-wiredep": "~1.8.0",
@@ -86,7 +87,7 @@
8687
"karma": "~0.12.9",
8788
"karma-ng-html2js-preprocessor": "~0.1.0",
8889
"supertest": "~0.11.0",
89-
"should": "~3.3.1"
90+
"sinon-chai": "^2.5.0"
9091
},
9192
"engines": {
9293
"node": ">=0.10.0"

0 commit comments

Comments
 (0)