From b10ae913abb4d768a5167468159ab488eed65807 Mon Sep 17 00:00:00 2001 From: Riley Davis Date: Tue, 8 Nov 2016 10:07:41 -0700 Subject: [PATCH 1/2] fix a race condition in the tests --- tests/routes/api/settings/index.js | 31 +++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/tests/routes/api/settings/index.js b/tests/routes/api/settings/index.js index 8c2cd221e..eebab69c9 100644 --- a/tests/routes/api/settings/index.js +++ b/tests/routes/api/settings/index.js @@ -38,25 +38,30 @@ describe('update settings', () => { return Setting.update({id: '1'}, {$setOnInsert: defaults}, {upsert: true}); }); - it('should respond to a PUT with new settings', () => { + it('should respond ok to a PUT', () => { chai.request(app) .put('/api/v1/settings') .send({moderation: 'post'}, (err, res) => { expect(err).to.be.null; expect(res).to.have.status(204); - done(err); + + if (err) { + return done(err); + } + + // confirm have updated settings + chai.request(app) + .get('/api/v1/settings') + .end((err, res) => { + expect(err).to.be.null; + expect(res).to.have.status(200); + expect(res).to.be.json; + expect(res.body).to.have.property('moderation'); + expect(res.body.moderation).to.equal('post'); + + done(err); + }); }); }); - it('should have updates settings', () => { - chai.request(app) - .get('/api/v1/settings') - .end((err, res) => { - expect(err).to.be.null; - expect(res).to.have.status(200); - expect(res).to.be.json; - expect(res.body).to.have.property('moderation'); - expect(res.body.moderation).to.equal('post'); - }); - }); }); From 095f6a319eaf41396b62bea7d396c0fa897b55a1 Mon Sep 17 00:00:00 2001 From: riley Date: Tue, 8 Nov 2016 10:38:49 -0700 Subject: [PATCH 2/2] remove the 2 requests in settings tests. add Promises --- tests/routes/api/settings/index.js | 38 +++++++++++------------------- 1 file changed, 14 insertions(+), 24 deletions(-) diff --git a/tests/routes/api/settings/index.js b/tests/routes/api/settings/index.js index eebab69c9..f6d07c03e 100644 --- a/tests/routes/api/settings/index.js +++ b/tests/routes/api/settings/index.js @@ -34,34 +34,24 @@ describe('GET /settings', () => { // update the settings. describe('update settings', () => { - before(() => { - return Setting.update({id: '1'}, {$setOnInsert: defaults}, {upsert: true}); - }); - it('should respond ok to a PUT', () => { - chai.request(app) - .put('/api/v1/settings') - .send({moderation: 'post'}, (err, res) => { - expect(err).to.be.null; - expect(res).to.have.status(204); + return Setting.update({id: '1'}, {$setOnInsert: defaults}, {upsert: true}) + .then(() => { + return chai.request(app) + .put('/api/v1/settings') + .send({moderation: 'post'}) + .then(res => { + expect(res).to.have.status(204); - if (err) { - return done(err); - } + return Setting.getSettings(); - // confirm have updated settings - chai.request(app) - .get('/api/v1/settings') - .end((err, res) => { - expect(err).to.be.null; - expect(res).to.have.status(200); - expect(res).to.be.json; - expect(res.body).to.have.property('moderation'); - expect(res.body.moderation).to.equal('post'); - - done(err); + }).then(settings => { + // confirm updated settings in db + expect(settings).to.have.property('moderation'); + expect(settings.moderation).to.equal('post'); + }).catch(err => { + throw err; }); }); }); - });