summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAndrej Mihajlov <and@mullvad.net>2018-06-14 14:28:22 +0200
committerAndrej Mihajlov <and@mullvad.net>2018-06-20 15:36:17 +0200
commit69da56287e82a3dcf1b32dc35e30f312822c657d (patch)
tree31b7f6d805ef9fdc928765ccca146dfc113eb34c
parent3e7a83f27a10cf6630ba5ff885b64cc24b02e9e3 (diff)
downloadmullvadvpn-69da56287e82a3dcf1b32dc35e30f312822c657d.tar.xz
mullvadvpn-69da56287e82a3dcf1b32dc35e30f312822c657d.zip
Migrate from sinon to chai-spies
-rw-r--r--package.json6
-rw-r--r--test/components/Login.spec.js11
-rw-r--r--test/components/Support.spec.js11
-rw-r--r--test/setup/renderer.js4
-rw-r--r--yarn.lock143
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(),
diff --git a/yarn.lock b/yarn.lock
index 2aa05436c0..a5db671ffc 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -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: