diff --git a/src/when.js b/src/when.js index bf69246..8df777a 100644 --- a/src/when.js +++ b/src/when.js @@ -68,7 +68,7 @@ class WhenMock { if (once && called) continue const isMatch = - args.length <= matchers.length && + args.length === matchers.length && matchers.reduce(checkArgumentMatchers(expectCall, args), true) if (isMatch) { diff --git a/src/when.test.js b/src/when.test.js index d3ae397..d6daa12 100644 --- a/src/when.test.js +++ b/src/when.test.js @@ -163,7 +163,7 @@ describe('When', () => { .calledWith(1, 'foo', true, anyString, undefined) .mockReturnValue('x') - expect(fn(1, 'foo', true, 'whatever')).toEqual('x') + expect(fn(1, 'foo', true, 'whatever', undefined)).toEqual('x') expect(spyEquals).toBeCalledWith(1, 1) expect(spyEquals).toBeCalledWith('foo', 'foo') expect(spyEquals).toBeCalledWith(true, true) @@ -178,7 +178,10 @@ describe('When', () => { .calledWith(1, 'foo', true, expect.any(String), undefined) .mockReturnValue('x') - expect(fn(1, 'foo', true)).toEqual(undefined) + expect(fn(1, 'foo', true, 'whatever', undefined)).toEqual('x') + + expect(fn(1, 'foo', true, 'whatever')).toEqual(undefined) + expect(fn(1, 'foo', true, 'whatever', undefined, undefined)).toEqual(undefined) expect(fn(1, 'foo', true, 'whatever', undefined, 'oops')).toEqual(undefined) })