Spaces:
Sleeping
Sleeping
; | |
var assert = require("@sinonjs/referee-sinon").assert; | |
var calledInOrder = require("./called-in-order"); | |
var sinon = require("@sinonjs/referee-sinon").sinon; | |
var testObject1 = { | |
someFunction: function () { | |
return; | |
}, | |
}; | |
var testObject2 = { | |
otherFunction: function () { | |
return; | |
}, | |
}; | |
var testObject3 = { | |
thirdFunction: function () { | |
return; | |
}, | |
}; | |
function testMethod() { | |
testObject1.someFunction(); | |
testObject2.otherFunction(); | |
testObject2.otherFunction(); | |
testObject2.otherFunction(); | |
testObject3.thirdFunction(); | |
} | |
describe("calledInOrder", function () { | |
beforeEach(function () { | |
sinon.stub(testObject1, "someFunction"); | |
sinon.stub(testObject2, "otherFunction"); | |
sinon.stub(testObject3, "thirdFunction"); | |
testMethod(); | |
}); | |
afterEach(function () { | |
testObject1.someFunction.restore(); | |
testObject2.otherFunction.restore(); | |
testObject3.thirdFunction.restore(); | |
}); | |
describe("given single array argument", function () { | |
describe("when stubs were called in expected order", function () { | |
it("returns true", function () { | |
assert.isTrue( | |
calledInOrder([ | |
testObject1.someFunction, | |
testObject2.otherFunction, | |
]) | |
); | |
assert.isTrue( | |
calledInOrder([ | |
testObject1.someFunction, | |
testObject2.otherFunction, | |
testObject2.otherFunction, | |
testObject3.thirdFunction, | |
]) | |
); | |
}); | |
}); | |
describe("when stubs were called in unexpected order", function () { | |
it("returns false", function () { | |
assert.isFalse( | |
calledInOrder([ | |
testObject2.otherFunction, | |
testObject1.someFunction, | |
]) | |
); | |
assert.isFalse( | |
calledInOrder([ | |
testObject2.otherFunction, | |
testObject1.someFunction, | |
testObject1.someFunction, | |
testObject3.thirdFunction, | |
]) | |
); | |
}); | |
}); | |
}); | |
describe("given multiple arguments", function () { | |
describe("when stubs were called in expected order", function () { | |
it("returns true", function () { | |
assert.isTrue( | |
calledInOrder( | |
testObject1.someFunction, | |
testObject2.otherFunction | |
) | |
); | |
assert.isTrue( | |
calledInOrder( | |
testObject1.someFunction, | |
testObject2.otherFunction, | |
testObject3.thirdFunction | |
) | |
); | |
}); | |
}); | |
describe("when stubs were called in unexpected order", function () { | |
it("returns false", function () { | |
assert.isFalse( | |
calledInOrder( | |
testObject2.otherFunction, | |
testObject1.someFunction | |
) | |
); | |
assert.isFalse( | |
calledInOrder( | |
testObject2.otherFunction, | |
testObject1.someFunction, | |
testObject3.thirdFunction | |
) | |
); | |
}); | |
}); | |
}); | |
}); | |