diff --git a/packages/enzyme-test-suite/package.json b/packages/enzyme-test-suite/package.json index cf2feb93d..687bc0b38 100644 --- a/packages/enzyme-test-suite/package.json +++ b/packages/enzyme-test-suite/package.json @@ -31,6 +31,7 @@ "license": "MIT", "dependencies": { "chai": "^4.1.2", + "create-react-class": "^15.6.3", "enzyme": "^3.8.0", "enzyme-adapter-utils": "^1.9.1", "html-element-map": "^1.0.0", @@ -40,7 +41,9 @@ "object-inspect": "^1.6.0", "object.assign": "^4.1.0", "prop-types": "^15.7.2", + "react-is": "^16.8.4", "semver": "^5.6.0", + "sinon-sandbox": "^2.0.0", "sinon": "^5.1.1" }, "peerDependencies": { @@ -48,13 +51,11 @@ "react-dom": "^15.5.0" }, "devDependencies": { - "create-react-class": "^15.6.3", "eslint": "^5.15.1", "eslint-config-airbnb": "^17.1.0", "eslint-plugin-import": "^2.16.0", "eslint-plugin-jsx-a11y": "^6.2.1", "eslint-plugin-mocha": "^5.2.1", - "eslint-plugin-react": "^7.12.4", - "react-is": "^16.8.4" + "eslint-plugin-react": "^7.12.4" } } diff --git a/packages/enzyme-test-suite/test/Debug-spec.jsx b/packages/enzyme-test-suite/test/Debug-spec.jsx index 245464908..196a967e0 100644 --- a/packages/enzyme-test-suite/test/Debug-spec.jsx +++ b/packages/enzyme-test-suite/test/Debug-spec.jsx @@ -1,7 +1,7 @@ import { expect } from 'chai'; import React from 'react'; import wrap from 'mocha-wrap'; -import sinon from 'sinon'; +import sinon from 'sinon-sandbox'; import { mount, shallow } from 'enzyme'; import { get } from 'enzyme/build/configuration'; diff --git a/packages/enzyme-test-suite/test/RSTTraversal-spec.jsx b/packages/enzyme-test-suite/test/RSTTraversal-spec.jsx index a0408d9c8..efc05a415 100644 --- a/packages/enzyme-test-suite/test/RSTTraversal-spec.jsx +++ b/packages/enzyme-test-suite/test/RSTTraversal-spec.jsx @@ -1,5 +1,5 @@ import React from 'react'; -import sinon from 'sinon'; +import sinon from 'sinon-sandbox'; import { expect } from 'chai'; import { elementToTree } from 'enzyme-adapter-utils'; import { diff --git a/packages/enzyme-test-suite/test/ReactWrapper-spec.jsx b/packages/enzyme-test-suite/test/ReactWrapper-spec.jsx index 136c380e0..23d55e3a6 100644 --- a/packages/enzyme-test-suite/test/ReactWrapper-spec.jsx +++ b/packages/enzyme-test-suite/test/ReactWrapper-spec.jsx @@ -2,7 +2,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { expect } from 'chai'; -import sinon from 'sinon'; +import sinon from 'sinon-sandbox'; import wrap from 'mocha-wrap'; import isEqual from 'lodash.isequal'; import getData from 'html-element-map/getData'; @@ -7380,12 +7380,12 @@ describeWithDOM('mount', () => { } } - const cDU = sinon.spy(DummyComp.prototype, 'componentDidUpdate'); - const gDSFP = sinon.spy(DummyComp, 'getDerivedStateFromProps'); + let cDU; + let gDSFP; beforeEach(() => { // eslint-disable-line mocha/no-sibling-hooks - cDU.resetHistory(); - gDSFP.resetHistory(); + cDU = sinon.spy(DummyComp.prototype, 'componentDidUpdate'); + gDSFP = sinon.spy(DummyComp, 'getDerivedStateFromProps'); }); it('with no state changes, calls both methods with a sync and async setProps', () => { diff --git a/packages/enzyme-test-suite/test/ShallowWrapper-spec.jsx b/packages/enzyme-test-suite/test/ShallowWrapper-spec.jsx index e88b8fec4..f80a3e8a8 100644 --- a/packages/enzyme-test-suite/test/ShallowWrapper-spec.jsx +++ b/packages/enzyme-test-suite/test/ShallowWrapper-spec.jsx @@ -1,7 +1,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { expect } from 'chai'; -import sinon from 'sinon'; +import sinon from 'sinon-sandbox'; import wrap from 'mocha-wrap'; import isEqual from 'lodash.isequal'; import getData from 'html-element-map/getData'; @@ -7728,12 +7728,12 @@ describe('shallow', () => { } } - const cDU = sinon.spy(DummyComp.prototype, 'componentDidUpdate'); - const gDSFP = sinon.spy(DummyComp, 'getDerivedStateFromProps'); + let cDU; + let gDSFP; beforeEach(() => { // eslint-disable-line mocha/no-sibling-hooks - cDU.resetHistory(); - gDSFP.resetHistory(); + cDU = sinon.spy(DummyComp.prototype, 'componentDidUpdate'); + gDSFP = sinon.spy(DummyComp, 'getDerivedStateFromProps'); }); it('with no state changes, calls both methods with a sync and async setProps', () => { diff --git a/packages/enzyme-test-suite/test/Utils-spec.jsx b/packages/enzyme-test-suite/test/Utils-spec.jsx index c4245efd2..8f5ff0958 100644 --- a/packages/enzyme-test-suite/test/Utils-spec.jsx +++ b/packages/enzyme-test-suite/test/Utils-spec.jsx @@ -1,7 +1,7 @@ import React from 'react'; import { expect } from 'chai'; import wrap from 'mocha-wrap'; -import sinon from 'sinon'; +import sinon from 'sinon-sandbox'; import { childrenToSimplifiedArray, nodeEqual, diff --git a/packages/enzyme-test-suite/test/_helpers/beforeEach.js b/packages/enzyme-test-suite/test/_helpers/beforeEach.js new file mode 100644 index 000000000..05b03e098 --- /dev/null +++ b/packages/enzyme-test-suite/test/_helpers/beforeEach.js @@ -0,0 +1,5 @@ +import sinon from 'sinon-sandbox'; + +beforeEach(() => { // eslint-disable-line mocha/no-top-level-hooks + sinon.restore(); +}); diff --git a/test/mocha.opts b/test/mocha.opts index 5fbbaa4cc..9200d5c1c 100644 --- a/test/mocha.opts +++ b/test/mocha.opts @@ -1,3 +1,3 @@ ---require ./packages/enzyme/withDom.js ./packages/enzyme-test-suite/test/_helpers/setupAdapters.js +--require ./packages/enzyme/withDom.js ./packages/enzyme-test-suite/test/_helpers/setupAdapters.js ./packages/enzyme-test-suite/test/_helpers/beforeEach.js --compilers js:babel-core/register,jsx:babel-core/register --extensions js,jsx