diff --git a/spec/core/matchers/toHaveSpyInteractionsSpec.js b/spec/core/matchers/toHaveSpyInteractionsSpec.js index 4092719a..34ff66fd 100755 --- a/spec/core/matchers/toHaveSpyInteractionsSpec.js +++ b/spec/core/matchers/toHaveSpyInteractionsSpec.js @@ -1,33 +1,40 @@ describe('toHaveSpyInteractions', function() { - let spyObj; - beforeEach(function() { - spyObj = jasmine.createSpyObj('NewClass', ['spyA', 'spyB']); - spyObj.otherMethod = function() {}; - }); - it('detects spy interactions', function() { + let spyObj = jasmine.createSpyObj('NewClass', ['spyA', 'spyB']); + spyObj.spyA(); + expect(spyObj).toHaveSpyInteractions(); }); it('detects multiple spy interactions', function() { + let spyObj = jasmine.createSpyObj('NewClass', ['spyA', 'spyB']); + spyObj.spyA(); spyObj.spyB(); spyObj.spyA(); + expect(spyObj).toHaveSpyInteractions(); }); it('detects no spy interactions', function() { + let spyObj = jasmine.createSpyObj('NewClass', ['spyA', 'spyB']); + expect(spyObj).not.toHaveSpyInteractions(); }); it('ignores non-observed spy object interactions', function() { + let spyObj = jasmine.createSpyObj('NewClass', ['spyA', 'spyB']); + spyObj.otherMethod(); + expect(spyObj).not.toHaveSpyInteractions(); }); [true, 123, 'string'].forEach(function(testValue) { it(`throws error if a non-object (${testValue}) is passed`, function() { + let spyObj = jasmine.createSpyObj('NewClass', ['spyA', 'spyB']); + expect(function() { expect(true).toHaveSpyInteractions(); }).toThrowError(Error, /Expected a spy object, but got/); @@ -36,6 +43,8 @@ describe('toHaveSpyInteractions', function() { [['argument'], [false, 0]].forEach(function(testValue) { it(`throws error if arguments (${testValue}) are passed`, function() { + let spyObj = jasmine.createSpyObj('NewClass', ['spyA', 'spyB']); + expect(function() { expect(spyObj).toHaveSpyInteractions(...testValue); }).toThrowError(Error, /Does not take arguments/); @@ -43,12 +52,12 @@ describe('toHaveSpyInteractions', function() { }); it('throws error if spy object has no spies', function() { - const newSpyObj = jasmine.createSpyObj('OtherClass', ['method']); + const spyObj = jasmine.createSpyObj('NewClass', ['method']); // Removing spy since spy objects cannot be created without spies. - newSpyObj.method = function() {}; + spyObj.method = function() {}; expect(function() { - expect(newSpyObj).toHaveSpyInteractions(); + expect(spyObj).toHaveSpyInteractions(); }).toThrowError( Error, /Expected a spy object with spies, but object has no spies/