aboutsummaryrefslogtreecommitdiff
path: root/node_modules/@sinonjs/commons/lib/called-in-order.test.js
diff options
context:
space:
mode:
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.js121
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
+ )
+ );
+ });
+ });
+ });
+});