This commit is contained in:
Blade Barringer
2015-08-24 17:55:20 -05:00
parent ce7d0039f8
commit 484609c634

View File

@@ -1,8 +1,10 @@
var sinon = require('sinon'); var sinon = require('sinon');
var chai = require("chai") var chai = require("chai");
chai.use(require("sinon-chai")) chai.use(require('chai-as-promised'));
var expect = chai.expect chai.use(require("sinon-chai"));
var expect = chai.expect;
var Q = require('q');
var groupsController = require('../../../website/src/controllers/groups'); var groupsController = require('../../../website/src/controllers/groups');
describe('Groups Controller', function() { describe('Groups Controller', function() {
@@ -11,6 +13,9 @@ describe('Groups Controller', function() {
var res, req, group, user, saveSpy; var res, req, group, user, saveSpy;
beforeEach(function() { beforeEach(function() {
sinon.stub(Q, 'all').returns({
done: sinon.stub().yields()
});
group = { group = {
_id: 'group-id', _id: 'group-id',
type: 'party', type: 'party',
@@ -61,6 +66,10 @@ describe('Groups Controller', function() {
req = { }; req = { };
}); });
afterEach(function() {
Q.all.restore();
});
context('error conditions', function() { context('error conditions', function() {
it('errors if quest is not active', function() { it('errors if quest is not active', function() {
group.quest.active = false; group.quest.active = false;
@@ -99,11 +108,14 @@ describe('Groups Controller', function() {
}); });
it('sends 500 if group cannot save', function() { it('sends 500 if group cannot save', function() {
group.save = sinon.stub().throws({err: 'save error'}); Q.all.returns({
done: sinon.stub().callsArgWith(1, {err: 'save error'})
});
var nextSpy = sinon.spy(); var nextSpy = sinon.spy();
groupsController.questLeave(req, res, nextSpy); groupsController.questLeave(req, res, nextSpy);
expect(res.json).to.not.be.called;
expect(nextSpy).to.be.calledOnce; expect(nextSpy).to.be.calledOnce;
expect(nextSpy).to.be.calledWith({err: 'save error'}); expect(nextSpy).to.be.calledWith({err: 'save error'});
}); });