Skip to content

Commit

Permalink
Use chai-as-promised to simplify async tests
Browse files Browse the repository at this point in the history
  • Loading branch information
avh4 committed Jun 2, 2014
1 parent 6b7edb0 commit a087545
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 19 deletions.
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@
"rewire": "^2.0.1",
"sinon": "^1.10.1",
"sinon-chai": "^2.5.0",
"dropbox-mock": "0.0.1"
"dropbox-mock": "0.0.1",
"chai-as-promised": "^4.1.1"
},
"dependencies": {
"q": "^1.0.1"
Expand Down
10 changes: 6 additions & 4 deletions src/test/js/DropboxServiceSpec.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,18 @@ describe('DropboxService', function() {
});

it('only opens the datastore once', function() {
DropboxService.insert('MyTable', { data: true}).then(function() {
return DropboxService.insert('MyTable', { data: true})
.then(function() {
DropboxService.insert('MyTable', { data: true});
}).done();
});
});
});

describe('query', function() {
it('retrieves records', function(done) {
it('retrieves records', function() {
Dropbox['MyTable'] = [ {name: 'A'}, {name: 'B'} ];
check(DropboxService.query('MyTable'), done, [ {name: 'A'}, {name: 'B'} ]);
return expect(DropboxService.query('MyTable'))
.to.eventually.eql([ {name: 'A'}, {name: 'B'} ]);
});
});
});
5 changes: 3 additions & 2 deletions src/test/js/ProjectServiceSpec.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,10 @@ describe('ProjectService', function() {
});

describe('getAll', function() {
it('returns all projects', function(done) {
it('returns all projects', function() {
projectsDefer.resolve(['A', 'B']);
check(ProjectService.getAll(), done, ['A', 'B']);
return expect(ProjectService.getAll())
.to.eventually.eql(['A', 'B']);
});
});
});
15 changes: 3 additions & 12 deletions src/test/js/env.js
Original file line number Diff line number Diff line change
@@ -1,20 +1,11 @@
global.rewire = require('rewire');
global.sinon = require('sinon');
global.Q = require('q');

global.chai = require('chai');
global.chai.use(require('sinon-chai'));
global.chai.use(require("chai-as-promised"));
global.expect = chai.expect;
global.Q = require('q');

global.Dropbox = new (require('dropbox-mock'))();
global.Dropbox.allowAppKey('hzy00wu1zd7neiv');

global.check = function(promise, done, expected) {
promise.then(function(actual) {
try {
expect(actual).to.eql(expected);
done();
} catch (e) {
done(e);
}
});
}

0 comments on commit a087545

Please sign in to comment.