diff options
Diffstat (limited to 'node_modules/@sinonjs/commons/lib/called-in-order.test.js')
-rw-r--r-- | node_modules/@sinonjs/commons/lib/called-in-order.test.js | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/node_modules/@sinonjs/commons/lib/called-in-order.test.js b/node_modules/@sinonjs/commons/lib/called-in-order.test.js new file mode 100644 index 0000000..00d8b8b --- /dev/null +++ b/node_modules/@sinonjs/commons/lib/called-in-order.test.js @@ -0,0 +1,121 @@ +"use strict"; + +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 + ) + ); + }); + }); + }); +}); |