diff options
| author | Andrej Mihajlov <and@mullvad.net> | 2018-06-14 14:28:22 +0200 |
|---|---|---|
| committer | Andrej Mihajlov <and@mullvad.net> | 2018-06-20 15:36:17 +0200 |
| commit | 69da56287e82a3dcf1b32dc35e30f312822c657d (patch) | |
| tree | 31b7f6d805ef9fdc928765ccca146dfc113eb34c | |
| parent | 3e7a83f27a10cf6630ba5ff885b64cc24b02e9e3 (diff) | |
| download | mullvadvpn-69da56287e82a3dcf1b32dc35e30f312822c657d.tar.xz mullvadvpn-69da56287e82a3dcf1b32dc35e30f312822c657d.zip | |
Migrate from sinon to chai-spies
| -rw-r--r-- | package.json | 6 | ||||
| -rw-r--r-- | test/components/Login.spec.js | 11 | ||||
| -rw-r--r-- | test/components/Support.spec.js | 11 | ||||
| -rw-r--r-- | test/setup/renderer.js | 4 | ||||
| -rw-r--r-- | yarn.lock | 143 |
5 files changed, 63 insertions, 112 deletions
diff --git a/package.json b/package.json index 5e79963fd0..702a8649de 100644 --- a/package.json +++ b/package.json @@ -47,11 +47,12 @@ "babel-preset-react": "^6.22.0", "browser-sync": "^2.23.6", "chai": "^4.1.0", + "chai-spies": "^1.0.0", "cross-env": "^5.1.3", "electron": "^2.0.2", "electron-builder": "^19.37.2", "electron-devtools-installer": "^2.2.1", - "electron-mocha": "^5.0.0", + "electron-mocha": "^6.0.4", "enzyme": "^3.2.0", "enzyme-adapter-react-16": "^1.1.0", "eslint": "^4.18.2", @@ -63,8 +64,7 @@ "npm-run-all": "^4.0.1", "prettier": "1.13.3", "redux-mock-store": "^1.3.0", - "rimraf": "^2.5.4", - "sinon": "^6.0.0" + "rimraf": "^2.5.4" }, "scripts": { "android": "react-native run-android", diff --git a/test/components/Login.spec.js b/test/components/Login.spec.js index 1c75904717..04f3cbdd92 100644 --- a/test/components/Login.spec.js +++ b/test/components/Login.spec.js @@ -1,16 +1,15 @@ // @flow -import { expect } from 'chai'; +import { expect, spy } from 'chai'; import * as React from 'react'; import { shallow } from 'enzyme'; -import sinon from 'sinon'; import Login from '../../app/components/Login'; import AccountInput from '../../app/components/AccountInput'; describe('components/Login', () => { it('notifies on the first change after failure', () => { - let onFirstChange = sinon.spy(); + let onFirstChange = spy(); const props = { account: Object.assign({}, defaultAccount, { status: 'failed', @@ -22,12 +21,10 @@ describe('components/Login', () => { const accountInput = component.find(AccountInput); accountInput.simulate('change', 'foo'); - expect(onFirstChange.calledOnce).to.be.true; - - onFirstChange.resetHistory(); + expect(onFirstChange).to.have.been.called.once; accountInput.simulate('change', 'bar'); - expect(onFirstChange.calledOnce).to.be.false; + expect(onFirstChange).to.have.been.called.once; }); it('does not show the footer when logging in', () => { diff --git a/test/components/Support.spec.js b/test/components/Support.spec.js index 653c376713..c06ac0b1d8 100644 --- a/test/components/Support.spec.js +++ b/test/components/Support.spec.js @@ -1,10 +1,9 @@ // @flow -import { expect } from 'chai'; +import { expect, spy } from 'chai'; import React from 'react'; import Support from '../../app/components/Support'; import { shallow } from 'enzyme'; -import sinon from 'sinon'; import type { SupportProps } from '../../app/components/Support'; describe('components/Support', () => { @@ -63,7 +62,7 @@ describe('components/Support', () => { }); it('should not collect report twice', (done) => { - const collectCallback = sinon.spy(() => Promise.resolve('non-falsy')); + const collectCallback = spy(() => Promise.resolve('non-falsy')); const props = makeProps({ onCollectLog: collectCallback, }); @@ -77,7 +76,7 @@ describe('components/Support', () => { setTimeout(() => { try { - expect(collectCallback.callCount).to.equal(1); + expect(collectCallback).to.have.been.called.once; done(); } catch (e) { done(e); @@ -86,12 +85,12 @@ describe('components/Support', () => { }); it('should collect report on submission', (done) => { - const collectCallback = sinon.spy(() => Promise.resolve('')); + const collectCallback = spy(() => Promise.resolve('')); const props = makeProps({ onCollectLog: collectCallback, onSend: (_report) => { try { - expect(collectCallback.calledOnce).to.be.true; + expect(collectCallback).to.have.been.called.once; done(); } catch (e) { done(e); diff --git a/test/setup/renderer.js b/test/setup/renderer.js index f27568f58d..42b8d7e163 100644 --- a/test/setup/renderer.js +++ b/test/setup/renderer.js @@ -1,5 +1,9 @@ const Enzyme = require('enzyme'); const Adapter = require('enzyme-adapter-react-16'); +const chai = require('chai'); +const spies = require('chai-spies'); + +chai.use(spies); Enzyme.configure({ adapter: new Adapter(), @@ -95,12 +95,6 @@ lodash "^4.2.0" to-fast-properties "^2.0.0" -"@sinonjs/formatio@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@sinonjs/formatio/-/formatio-2.0.0.tgz#84db7e9eb5531df18a8c5e0bfb6e449e55e654b2" - dependencies: - samsam "1.3.0" - "@types/lodash@^4.14.64": version "4.14.91" resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.91.tgz#794611b28056d16b5436059c6d800b39d573cd3a" @@ -1391,9 +1385,9 @@ braces@^1.8.2: preserve "^0.2.0" repeat-element "^1.1.2" -browser-stdout@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.0.tgz#f351d32969d32fa5d7a5567154263d928ae3bd1f" +browser-stdout@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" browser-sync-ui@v1.0.1: version "1.0.1" @@ -1579,6 +1573,10 @@ caw@^1.0.1: object-assign "^3.0.0" tunnel-agent "^0.4.0" +chai-spies@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/chai-spies/-/chai-spies-1.0.0.tgz#d16b39336fb316d03abf8c375feb23c0c8bb163d" + chai@^4.1.0: version "4.1.2" resolved "https://registry.yarnpkg.com/chai/-/chai-4.1.2.tgz#0f64584ba642f0f2ace2806279f4f06ca23ad73c" @@ -1802,9 +1800,9 @@ commander@2: version "2.14.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.14.1.tgz#2235123e37af8ca3c65df45b026dbd357b01b9aa" -commander@2.11.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" +commander@2.15.1, commander@^2.15.1: + version "2.15.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" commander@^2.11.0: version "2.12.2" @@ -2389,18 +2387,14 @@ dev-ip@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/dev-ip/-/dev-ip-1.0.1.tgz#a76a3ed1855be7a012bb8ac16cb80f3c00dc28f0" -diff@3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.3.1.tgz#aa8567a6eed03c531fc89d3f711cd0e5259dec75" +diff@3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" diff@^2.1.2: version "2.2.3" resolved "https://registry.yarnpkg.com/diff/-/diff-2.2.3.tgz#60eafd0d28ee906e4e8ff0a52c1229521033bf99" -diff@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" - discontinuous-range@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/discontinuous-range/-/discontinuous-range-1.0.0.tgz#e38331f0844bba49b9a9cb71c771585aab1bc65a" @@ -2658,15 +2652,15 @@ electron-log@^2.2.8: version "2.2.14" resolved "https://registry.yarnpkg.com/electron-log/-/electron-log-2.2.14.tgz#2123319ccb8d70b0db07f0eda57d5823cb42b4b0" -electron-mocha@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/electron-mocha/-/electron-mocha-5.0.0.tgz#415b86166a6bf80125fc4106ecc2545669c284ac" +electron-mocha@^6.0.4: + version "6.0.4" + resolved "https://registry.yarnpkg.com/electron-mocha/-/electron-mocha-6.0.4.tgz#5130ff3ed1ffc2971de26881cd7d18c0c0179baf" dependencies: - commander "^2.11.0" + commander "^2.15.1" electron-window "^0.8.0" - fs-extra "^4.0.2" - mocha "^4.0.1" - which "^1.3.0" + fs-extra "^6.0.1" + mocha "^5.2.0" + which "^1.3.1" electron-osx-sign@0.4.8: version "0.4.8" @@ -3425,7 +3419,7 @@ fs-extra@^1.0.0: jsonfile "^2.1.0" klaw "^1.0.0" -fs-extra@^4.0.1, fs-extra@^4.0.2: +fs-extra@^4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" dependencies: @@ -3441,6 +3435,14 @@ fs-extra@^5.0.0: jsonfile "^4.0.0" universalify "^0.1.0" +fs-extra@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-6.0.1.tgz#8abc128f7946e310135ddc93b98bddb410e7a34b" + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + fs-minipass@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" @@ -3757,9 +3759,9 @@ grouped-queue@^0.3.0: dependencies: lodash "^4.17.2" -growl@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.3.tgz#1926ba90cf3edfe2adb4927f5880bc22c66c790f" +growl@1.10.5: + version "1.10.5" + resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" growly@^1.3.0: version "1.3.0" @@ -4618,10 +4620,6 @@ jsx-ast-utils@^2.0.1: dependencies: array-includes "^3.0.3" -just-extend@^1.1.27: - version "1.1.27" - resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-1.1.27.tgz#ec6e79410ff914e472652abfa0e603c03d60e905" - kind-of@^3.0.2: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" @@ -4783,10 +4781,6 @@ lodash.flattendeep@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" -lodash.get@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" - lodash.isarguments@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" @@ -4878,10 +4872,6 @@ lolex@1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/lolex/-/lolex-1.3.2.tgz#7c3da62ffcb30f0f5a80a2566ca24e45d8a01f31" -lolex@^2.3.2, lolex@^2.4.2: - version "2.7.0" - resolved "https://registry.yarnpkg.com/lolex/-/lolex-2.7.0.tgz#9c087a69ec440e39d3f796767cf1b2cdc43d5ea5" - loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" @@ -5160,7 +5150,7 @@ min-document@^2.19.0: dependencies: dom-walk "^0.1.0" -"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4: +"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" dependencies: @@ -5203,20 +5193,21 @@ mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1: dependencies: minimist "0.0.8" -mocha@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-4.1.0.tgz#7d86cfbcf35cb829e2754c32e17355ec05338794" +mocha@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-5.2.0.tgz#6d8ae508f59167f940f2b5b3c4a612ae50c90ae6" dependencies: - browser-stdout "1.3.0" - commander "2.11.0" + browser-stdout "1.3.1" + commander "2.15.1" debug "3.1.0" - diff "3.3.1" + diff "3.5.0" escape-string-regexp "1.0.5" glob "7.1.2" - growl "1.10.3" + growl "1.10.5" he "1.1.1" + minimatch "3.0.4" mkdirp "0.5.1" - supports-color "4.4.0" + supports-color "5.4.0" moment@^2.20.1: version "2.20.1" @@ -5318,16 +5309,6 @@ negotiator@0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" -nise@^1.3.3: - version "1.4.1" - resolved "https://registry.yarnpkg.com/nise/-/nise-1.4.1.tgz#78bc2b343d5ff1031ea9d1bb2c87a94c26db7250" - dependencies: - "@sinonjs/formatio" "^2.0.0" - just-extend "^1.1.27" - lolex "^2.3.2" - path-to-regexp "^1.7.0" - text-encoding "^0.6.4" - node-fetch@^1.0.1, node-fetch@^1.3.3: version "1.7.3" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" @@ -6752,10 +6733,6 @@ samsam@1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/samsam/-/samsam-1.1.2.tgz#bec11fdc83a9fda063401210e40176c3024d1567" -samsam@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/samsam/-/samsam-1.3.0.tgz#8d1d9350e25622da30de3e44ba692b5221ab7c50" - samsam@~1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/samsam/-/samsam-1.1.3.tgz#9f5087419b4d091f232571e7fa52e90b0f552621" @@ -6983,18 +6960,6 @@ sinon@^1.9.1: samsam "1.1.2" util ">=0.10.3 <1" -sinon@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/sinon/-/sinon-6.0.0.tgz#f26627e4830dc34279661474da2c9e784f166215" - dependencies: - "@sinonjs/formatio" "^2.0.0" - diff "^3.5.0" - lodash.get "^4.4.2" - lolex "^2.4.2" - nise "^1.3.3" - supports-color "^5.4.0" - type-detect "^4.0.8" - slash@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" @@ -7347,11 +7312,11 @@ sumchecker@^2.0.2: dependencies: debug "^2.2.0" -supports-color@4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.4.0.tgz#883f7ddabc165142b2a61427f3352ded195d1a3e" +supports-color@5.4.0: + version "5.4.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" dependencies: - has-flag "^2.0.0" + has-flag "^3.0.0" supports-color@^2.0.0: version "2.0.0" @@ -7369,12 +7334,6 @@ supports-color@^5.3.0: dependencies: has-flag "^3.0.0" -supports-color@^5.4.0: - version "5.4.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" - dependencies: - has-flag "^3.0.0" - symbol-observable@^1.0.3: version "1.1.0" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.1.0.tgz#5c68fd8d54115d9dfb72a84720549222e8db9b32" @@ -7462,10 +7421,6 @@ term-size@^1.2.0: dependencies: execa "^0.7.0" -text-encoding@^0.6.4: - version "0.6.4" - resolved "https://registry.yarnpkg.com/text-encoding/-/text-encoding-0.6.4.tgz#e399a982257a276dae428bb92845cb71bdc26d19" - text-table@^0.2.0, text-table@~0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" @@ -7635,10 +7590,6 @@ type-detect@^4.0.0: version "4.0.7" resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.7.tgz#862bd2cf6058ad92799ff5a5b8cf7b6cec726198" -type-detect@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - type-is@~1.6.6: version "1.6.15" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410" @@ -7989,7 +7940,7 @@ which@^1.2.12, which@^1.2.14, which@^1.2.8, which@^1.3.0: dependencies: isexe "^2.0.0" -which@^1.2.9: +which@^1.2.9, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" dependencies: |
