Upgrade sinonjs, and fix unit tests.

- use `sinon.match.has` for error matching
- restore previous use of `calledWith`
This commit is contained in:
Shane Kilkelly 2017-08-22 15:20:43 +01:00
parent 1f3b0a3713
commit 65697cb2f6
4 changed files with 39 additions and 29 deletions

View file

@ -26,7 +26,7 @@
"grunt": "~0.4.4",
"bunyan": "~0.22.3",
"grunt-bunyan": "~0.5.0",
"sinon": "~1.5.2",
"sinon": "~3.2.1",
"sandboxed-module": "~0.3.0",
"chai": "~1.9.1",
"grunt-forever": "~0.4.4",

View file

@ -184,7 +184,7 @@ describe "DocManager", ->
it "should return a NotFoundError", ->
@callback
.calledWith(new Errors.NotFoundError("No such doc: #{@doc_id} in project #{@project_id}"))
.calledWith(sinon.match.has('message', "No such doc: #{@doc_id} in project #{@project_id}"))
.should.equal true
describe "getAllNonDeletedDocs", ->
@ -212,7 +212,7 @@ describe "DocManager", ->
it "should return a NotFoundError", ->
@callback
.calledWith(new Errors.NotFoundError("No docs for project #{@project_id}"))
.calledWith(sinon.match.has('message', "No docs for project #{@project_id}"))
.should.equal true
describe "deleteDoc", ->
@ -244,7 +244,7 @@ describe "DocManager", ->
it "should return a NotFoundError", ->
@callback
.calledWith(new Errors.NotFoundError("No such doc: #{@doc_id}"))
.calledWith(sinon.match.has('message', "No such project/doc to delete: #{@project_id}/#{@doc_id}"))
.should.equal true
describe "updateDoc", ->
@ -349,21 +349,21 @@ describe "DocManager", ->
@DocManager.updateDoc @project_id, @doc_id, @newDocLines, null, @originalRanges, @callback
it "should return an error", ->
@callback.calledWith(new Error("no lines, version or ranges provided")).should.equal true
@callback.calledWith(sinon.match.has('message', "no lines, version or ranges provided")).should.equal true
describe "when the lines are null", ->
beforeEach ->
@DocManager.updateDoc @project_id, @doc_id, null, @version, @originalRanges, @callback
it "should return an error", ->
@callback.calledWith(new Error("no lines, version or ranges provided")).should.equal true
@callback.calledWith(sinon.match.has('message', "no lines, version or ranges provided")).should.equal true
describe "when the ranges are null", ->
beforeEach ->
@DocManager.updateDoc @project_id, @doc_id, @newDocLines, @version, null, @callback
it "should return an error", ->
@callback.calledWith(new Error("no lines, version or ranges provided")).should.equal true
@callback.calledWith(sinon.match.has('message', "no lines, version or ranges provided")).should.equal true
describe "when there is a generic error getting the doc", ->
beforeEach ->

View file

@ -174,7 +174,7 @@ describe "HttpController", ->
it "should log out an error", ->
@logger.error
.calledWith(
err: new Error("null doc")
err: sinon.match.has('message', "null doc")
project_id: @project_id
"encountered null doc"
)
@ -325,4 +325,4 @@ describe "HttpController", ->
it "should return a 204 (No Content)", ->
@res.send
.calledWith(204)
.should.equal true
.should.equal true

View file

@ -26,10 +26,12 @@ describe "MongoManager", ->
@MongoManager.findDoc @project_id, @doc_id, @filter, @callback
it "should find the doc", ->
@db.docs.find.lastCall.args.slice(0,2).should.deep.equal([
{_id: ObjectId(@doc_id), project_id: ObjectId(@project_id)},
@filter
])
@db.docs.find
.calledWith({
_id: ObjectId(@doc_id)
project_id: ObjectId(@project_id)
}, @filter)
.should.equal true
it "should call the callback with the doc", ->
@callback.calledWith(null, @doc).should.equal true
@ -48,9 +50,12 @@ describe "MongoManager", ->
@MongoManager.getProjectsDocs @project_id, include_deleted: false, @filter, @callback
it "should find the non-deleted docs via the project_id", ->
@db.docs.find.lastCall.args.slice(0,1).should.deep.equal([
{project_id: ObjectId(@project_id), deleted: {$ne: true}}
])
@db.docs.find
.calledWith({
project_id: ObjectId(@project_id)
deleted: { $ne: true }
}, @filter)
.should.equal true
it "should call the callback with the docs", ->
@callback.calledWith(null, [@doc, @doc3, @doc4]).should.equal true
@ -60,10 +65,11 @@ describe "MongoManager", ->
@MongoManager.getProjectsDocs @project_id, include_deleted: true, @filter, @callback
it "should find all via the project_id", ->
@db.docs.find.lastCall.args.slice(0,2).should.deep.equal([
{project_id: ObjectId(@project_id)},
@filter
])
@db.docs.find
.calledWith({
project_id: ObjectId(@project_id)
}, @filter)
.should.equal true
it "should call the callback with the docs", ->
@callback.calledWith(null, [@doc, @doc3, @doc4]).should.equal true
@ -113,10 +119,9 @@ describe "MongoManager", ->
@MongoManager.getDocVersion @doc_id, @callback
it "should look for the doc in the database", ->
@db.docOps.find.lastCall.args.slice(0,2).should.deep.equal([
{ doc_id: ObjectId(@doc_id) },
{version: 1}
])
@db.docOps.find
.calledWith({ doc_id: ObjectId(@doc_id) }, {version: 1})
.should.equal true
it "should call the callback with the version", ->
@callback.calledWith(null, @version).should.equal true
@ -136,11 +141,16 @@ describe "MongoManager", ->
@MongoManager.setDocVersion @doc_id, @version, @callback
it "should update the doc version", ->
@db.docOps.update.lastCall.args.slice(0,3).should.deep.equal([
{doc_id: ObjectId(@doc_id)},
{$set: {version: @version}},
{upsert: true}
])
@db.docOps.update
.calledWith({
doc_id: ObjectId(@doc_id)
}, {
$set:
version: @version
}, {
upsert: true
})
.should.equal true
it "should call the callback", ->
@callback.called.should.equal true