Comparing version 2.5.0 to 2.6.0
{ | ||
"name": "jest-when", | ||
"version": "2.5.0", | ||
"version": "2.6.0", | ||
"description": "An extension lib for jest", | ||
@@ -23,3 +23,3 @@ "license": "MIT", | ||
"bunyan": "^1.8.12", | ||
"expect": "^22.4.3" | ||
"expect": "^24.8.0" | ||
}, | ||
@@ -33,9 +33,8 @@ "devDependencies": { | ||
"eslint-plugin-standard": "^3.1.0", | ||
"jest": "^22.1.1", | ||
"jest": "^24.8.0", | ||
"pre-commit": "^1.2.2", | ||
"stryker": "^0.24.0", | ||
"stryker-api": "^0.17.1", | ||
"stryker-html-reporter": "^0.14.1", | ||
"stryker-javascript-mutator": "^0.7.1", | ||
"stryker-jest-runner": "^0.7.0" | ||
"@stryker-mutator/core": "^2.0.0", | ||
"@stryker-mutator/html-reporter": "^2.0.0", | ||
"@stryker-mutator/javascript-mutator": "^2.0.0", | ||
"@stryker-mutator/jest-runner": "^2.0.0" | ||
}, | ||
@@ -42,0 +41,0 @@ "jest": { |
@@ -131,2 +131,12 @@ # jest-when | ||
#### Supports jest.spyOn: | ||
```javascript | ||
const theSpiedMethod = jest.spyOn(theInstance, 'theMethod'); | ||
when(theSpiedMethod) | ||
.calledWith(1) | ||
.mockReturnValue('mock'); | ||
const returnValue = theInstance.theMethod(1); | ||
expect(returnValue).toBe('mock'); | ||
``` | ||
#### Supports jest matchers: | ||
@@ -133,0 +143,0 @@ ```javascript |
const assert = require('assert') | ||
const utils = require('expect/build/jasmine_utils') | ||
const utils = require('expect/build/jasmineUtils') | ||
const logger = require('./log')('when') | ||
@@ -35,2 +35,3 @@ | ||
this.callMocks = [] | ||
this._origMock = fn.getMockImplementation() | ||
@@ -103,2 +104,8 @@ if (defaultValue.isSet) { | ||
this.expectCalledWith = (...matchers) => ({ ...mockFunctions(matchers, true) }) | ||
this.resetWhenMocks = () => { | ||
fn.mockImplementation(fn.__whenMock__._origMock) | ||
fn.__whenMock__ = undefined | ||
registry.delete(fn) | ||
} | ||
} | ||
@@ -116,2 +123,3 @@ } | ||
registry.forEach(fn => { | ||
fn.mockImplementation(fn.__whenMock__._origMock) | ||
fn.__whenMock__ = undefined | ||
@@ -118,0 +126,0 @@ }) |
const { stringContaining } = expect | ||
const errMsg = ({ expect, actual }) => | ||
new RegExp(`Expected.*\\n.*${expect}.*\\nReceived.*\\n.*${actual}`) | ||
new RegExp(`Expected.*${expect}.*\\nReceived.*${actual}`) | ||
@@ -10,3 +10,3 @@ describe('When', () => { | ||
beforeEach(() => { | ||
spyEquals = jest.spyOn(require('expect/build/jasmine_utils'), 'equals') | ||
spyEquals = jest.spyOn(require('expect/build/jasmineUtils'), 'equals') | ||
@@ -66,2 +66,22 @@ mockLogger = { | ||
it('reset of mocks restores original implementation', () => { | ||
const fn = jest.fn(() => 'a') | ||
when(fn).expectCalledWith(1).mockReturnValueOnce('x') | ||
resetAllWhenMocks() | ||
expect(fn(1)).toEqual('a') | ||
}) | ||
it('allows reset of mocks for one function', () => { | ||
const fn = jest.fn(() => 'a') | ||
const mock = when(fn).expectCalledWith(1).mockReturnValueOnce('x') | ||
mock.resetWhenMocks() | ||
expect(fn(1)).toEqual('a') | ||
}) | ||
it('allows checking that all mocks were called', () => { | ||
@@ -501,3 +521,20 @@ const fn1 = jest.fn() | ||
}) | ||
it('accepts a spied method:', () => { | ||
class TheClass { | ||
theMethod (theArgument) { | ||
return 'real' | ||
} | ||
} | ||
const theInstance = new TheClass() | ||
const theSpiedMethod = jest.spyOn(theInstance, 'theMethod') | ||
when(theSpiedMethod) | ||
.calledWith(1) | ||
.mockReturnValue('mock') | ||
const returnValue = theInstance.theMethod(1) | ||
expect(returnValue).toBe('mock') | ||
}) | ||
}) | ||
}) |
Sorry, the diff of this file is not supported yet
223507
12
585
268
+ Added@jest/console@24.9.0(transitive)
+ Added@jest/source-map@24.9.0(transitive)
+ Added@jest/test-result@24.9.0(transitive)
+ Added@jest/types@24.9.0(transitive)
+ Added@types/istanbul-lib-coverage@2.0.6(transitive)
+ Added@types/istanbul-lib-report@3.0.3(transitive)
+ Added@types/istanbul-reports@1.1.2(transitive)
+ Added@types/stack-utils@1.0.1(transitive)
+ Added@types/yargs@13.0.12(transitive)
+ Added@types/yargs-parser@21.0.3(transitive)
+ Addedansi-regex@4.1.1(transitive)
+ Addedarr-diff@4.0.0(transitive)
+ Addedarr-union@3.1.0(transitive)
+ Addedarray-unique@0.3.2(transitive)
+ Addedassign-symbols@1.0.0(transitive)
+ Addedatob@2.1.2(transitive)
+ Addedbase@0.11.2(transitive)
+ Addedbraces@2.3.2(transitive)
+ Addedcache-base@1.0.1(transitive)
+ Addedcallsites@3.1.0(transitive)
+ Addedclass-utils@0.3.6(transitive)
+ Addedcollection-visit@1.0.0(transitive)
+ Addedcomponent-emitter@1.3.1(transitive)
+ Addedcopy-descriptor@0.1.1(transitive)
+ Addeddebug@2.6.9(transitive)
+ Addeddecode-uri-component@0.2.2(transitive)
+ Addeddefine-property@0.2.51.0.02.0.2(transitive)
+ Addeddiff-sequences@24.9.0(transitive)
+ Addedexpand-brackets@2.1.4(transitive)
+ Addedexpect@24.9.0(transitive)
+ Addedextend-shallow@2.0.13.0.2(transitive)
+ Addedextglob@2.0.4(transitive)
+ Addedfill-range@4.0.0(transitive)
+ Addedfragment-cache@0.2.1(transitive)
+ Addedfunction-bind@1.1.2(transitive)
+ Addedget-value@2.0.6(transitive)
+ Addedgraceful-fs@4.2.11(transitive)
+ Addedhas-value@0.3.11.0.0(transitive)
+ Addedhas-values@0.1.41.0.0(transitive)
+ Addedhasown@2.0.2(transitive)
+ Addedis-accessor-descriptor@1.0.1(transitive)
+ Addedis-data-descriptor@1.0.1(transitive)
+ Addedis-descriptor@0.1.71.0.3(transitive)
+ Addedis-extendable@1.0.1(transitive)
+ Addedis-number@3.0.0(transitive)
+ Addedis-plain-object@2.0.4(transitive)
+ Addedis-windows@1.0.2(transitive)
+ Addedisobject@3.0.1(transitive)
+ Addedjest-diff@24.9.0(transitive)
+ Addedjest-get-type@24.9.0(transitive)
+ Addedjest-matcher-utils@24.9.0(transitive)
+ Addedjest-message-util@24.9.0(transitive)
+ Addedjest-regex-util@24.9.0(transitive)
+ Addedkind-of@4.0.0(transitive)
+ Addedmap-cache@0.2.2(transitive)
+ Addedmap-visit@1.0.0(transitive)
+ Addedmicromatch@3.1.10(transitive)
+ Addedmixin-deep@1.3.2(transitive)
+ Addedms@2.0.0(transitive)
+ Addednanomatch@1.2.13(transitive)
+ Addedobject-copy@0.1.0(transitive)
+ Addedobject-visit@1.0.1(transitive)
+ Addedobject.pick@1.3.0(transitive)
+ Addedpascalcase@0.1.1(transitive)
+ Addedposix-character-classes@0.1.1(transitive)
+ Addedpretty-format@24.9.0(transitive)
+ Addedreact-is@16.13.1(transitive)
+ Addedregex-not@1.0.2(transitive)
+ Addedresolve-url@0.2.1(transitive)
+ Addedret@0.1.15(transitive)
+ Addedsafe-regex@1.1.0(transitive)
+ Addedset-value@2.0.1(transitive)
+ Addedslash@2.0.0(transitive)
+ Addedsnapdragon@0.8.2(transitive)
+ Addedsnapdragon-node@2.1.1(transitive)
+ Addedsnapdragon-util@3.0.1(transitive)
+ Addedsource-map@0.5.70.6.1(transitive)
+ Addedsource-map-resolve@0.5.3(transitive)
+ Addedsource-map-url@0.4.1(transitive)
+ Addedsplit-string@3.1.0(transitive)
+ Addedstatic-extend@0.1.2(transitive)
+ Addedto-object-path@0.3.0(transitive)
+ Addedto-regex@3.0.2(transitive)
+ Addedto-regex-range@2.1.1(transitive)
+ Addedunion-value@1.0.1(transitive)
+ Addedunset-value@1.0.0(transitive)
+ Addedurix@0.1.0(transitive)
+ Addeduse@3.1.1(transitive)
- Removedansi-regex@3.0.1(transitive)
- Removedarr-diff@2.0.0(transitive)
- Removedarray-unique@0.2.1(transitive)
- Removedbraces@1.8.5(transitive)
- Removeddiff@3.5.0(transitive)
- Removedexpand-brackets@0.1.5(transitive)
- Removedexpand-range@1.8.2(transitive)
- Removedexpect@22.4.3(transitive)
- Removedextglob@0.3.2(transitive)
- Removedfilename-regex@2.0.1(transitive)
- Removedfill-range@2.2.4(transitive)
- Removedfor-own@0.1.5(transitive)
- Removedglob-base@0.3.0(transitive)
- Removedglob-parent@2.0.0(transitive)
- Removedis-dotfile@1.0.3(transitive)
- Removedis-equal-shallow@0.1.3(transitive)
- Removedis-extglob@1.0.0(transitive)
- Removedis-glob@2.0.1(transitive)
- Removedis-number@2.1.04.0.0(transitive)
- Removedis-posix-bracket@0.1.1(transitive)
- Removedis-primitive@2.0.0(transitive)
- Removedjest-diff@22.4.3(transitive)
- Removedjest-get-type@22.4.3(transitive)
- Removedjest-matcher-utils@22.4.3(transitive)
- Removedjest-message-util@22.4.3(transitive)
- Removedjest-regex-util@22.4.3(transitive)
- Removedmath-random@1.0.4(transitive)
- Removedmicromatch@2.3.11(transitive)
- Removednormalize-path@2.1.1(transitive)
- Removedobject.omit@2.0.1(transitive)
- Removedparse-glob@3.0.4(transitive)
- Removedpreserve@0.2.0(transitive)
- Removedpretty-format@22.4.3(transitive)
- Removedrandomatic@3.1.1(transitive)
- Removedregex-cache@0.4.4(transitive)
- Removedremove-trailing-separator@1.1.0(transitive)
- Removedslash@1.0.0(transitive)
Updatedexpect@^24.8.0