diff --git a/package.json b/package.json index 40e8b1b0f..1c0ec76e0 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "html-webpack-plugin": "^2.30.1", "husky": "^3.0.8", "jest": "^24.5.0", + "jest-circus": "^24.6.0", "lint-staged": "^7.1.0", "minimist": "^1.2.0", "prettier": "^1.12.1", diff --git a/packages/dai/jest.config.js b/packages/dai/jest.config.js index a3611ffdf..21f7a060b 100644 --- a/packages/dai/jest.config.js +++ b/packages/dai/jest.config.js @@ -14,5 +14,6 @@ module.exports = { "test" ], "setupFilesAfterEnv": ["<rootDir>/test/setup-test.js"], + "testRunner": "jest-circus/runner", "testPathIgnorePatterns": ["<rootDir>/node_modules/", "<rootDir>/test/build.spec.js", "<rootDir>/test/integration/"] } diff --git a/packages/dai/test/eth/EthereumCdpService.spec.js b/packages/dai/test/eth/EthereumCdpService.spec.js index 496c6b09b..f06394064 100644 --- a/packages/dai/test/eth/EthereumCdpService.spec.js +++ b/packages/dai/test/eth/EthereumCdpService.spec.js @@ -101,21 +101,19 @@ describe('find cdp', () => { test('can calculate system collateralization', async () => { const cdp = await cdpService.openCdp(); let lock = cdp.lockEth(0.1); - mineBlocks(cdpService); - await lock; + await Promise.all([lock, mineBlocks(cdpService)]); await cdp.drawDai(1); const scA = await cdpService.getSystemCollateralization(); lock = cdp.lockEth(0.1); - mineBlocks(cdpService); - await lock; + await Promise.all([lock, mineBlocks(cdpService)]); const scB = await cdpService.getSystemCollateralization(); expect(scB).toBeGreaterThan(scA); await cdp.drawDai(1); const scC = await cdpService.getSystemCollateralization(); expect(scC).toBeLessThan(scB); -}); +}, 10000); test('openCdp returns the transaction object', async () => { const txo = cdpService.openCdp(); diff --git a/packages/dai/test/eth/Web3Service.spec.js b/packages/dai/test/eth/Web3Service.spec.js index ba7bad29d..8434de505 100644 --- a/packages/dai/test/eth/Web3Service.spec.js +++ b/packages/dai/test/eth/Web3Service.spec.js @@ -141,7 +141,7 @@ test('be authenticated and know default address when private key passed in', don }); test('determine correct connection status', async done => { - const service = buildTestService(); + const service = buildTestService(null, 200); expect(await service._isStillConnected()).toBe(false); await service.manager().connect(); diff --git a/yarn.lock b/yarn.lock index 5a1897f0b..3a1aa78a9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -861,6 +861,15 @@ unique-filename "^1.1.1" which "^1.3.1" +"@jest/console@^24.6.0": + version "24.6.0" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-24.6.0.tgz#63225e6889f3865ab5b7a0d8797e8aed417c4e0b" + integrity sha512-nNZbwtZwW6dr7bvZpRBCdBNvZYi+jr6lfnubSOCELk/Km/5csDmGdqeS4qKwGKIVlHTyZ95MYExYevpdh26tDA== + dependencies: + "@jest/source-map" "^24.3.0" + chalk "^2.0.1" + slash "^2.0.0" + "@jest/console@^24.7.1": version "24.7.1" resolved "https://registry.yarnpkg.com/@jest/console/-/console-24.7.1.tgz#32a9e42535a97aedfe037e725bd67e954b459545" @@ -903,6 +912,16 @@ rimraf "^2.5.4" strip-ansi "^5.0.0" +"@jest/environment@^24.6.0": + version "24.6.0" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-24.6.0.tgz#6dea095baee2ce23ed05328468f945291f30ed30" + integrity sha512-LccuUfnREDNFbKmMWrtzUJu6fwU1E6ddYlYSDuClEQvboMKQQMUuCSYXvRUQFtDdeVjUfxkHqfSVvBzuph0b7w== + dependencies: + "@jest/fake-timers" "^24.6.0" + "@jest/transform" "^24.6.0" + "@jest/types" "^24.6.0" + jest-mock "^24.6.0" + "@jest/environment@^24.8.0": version "24.8.0" resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-24.8.0.tgz#0342261383c776bdd652168f68065ef144af0eac" @@ -913,6 +932,15 @@ "@jest/types" "^24.8.0" jest-mock "^24.8.0" +"@jest/fake-timers@^24.6.0": + version "24.6.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-24.6.0.tgz#4eb0b47539883742e9f969e983770230f5a57d7b" + integrity sha512-92nYqkZceki6knls7F6/FrPxKXnQl0QjYXbjLk/EFfp6xcg4ETLQSAur7pMZsiAzazAgQag/XDvMmKwMbunAeg== + dependencies: + "@jest/types" "^24.6.0" + jest-message-util "^24.6.0" + jest-mock "^24.6.0" + "@jest/fake-timers@^24.8.0": version "24.8.0" resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-24.8.0.tgz#2e5b80a4f78f284bcb4bd5714b8e10dd36a8d3d1" @@ -958,6 +986,15 @@ graceful-fs "^4.1.15" source-map "^0.6.0" +"@jest/test-result@^24.6.0": + version "24.6.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.6.0.tgz#fd56c12b031601c282eede8a5ec1317ebe63bd11" + integrity sha512-k6pdgBBJIDbBgQGZgt8IbQC/KrOAC+fsSZrHw62R54FnfoYzuDqnrbB/AfPJS8T4RjDsWvnAHgXLH866yG10Pg== + dependencies: + "@jest/console" "^24.6.0" + "@jest/types" "^24.6.0" + "@types/istanbul-lib-coverage" "^2.0.0" + "@jest/test-result@^24.8.0": version "24.8.0" resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.8.0.tgz#7675d0aaf9d2484caa65e048d9b467d160f8e9d3" @@ -977,6 +1014,27 @@ jest-runner "^24.8.0" jest-runtime "^24.8.0" +"@jest/transform@^24.6.0": + version "24.6.0" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-24.6.0.tgz#dc7a00591651b89c2582602fe5c4ce47a5398148" + integrity sha512-aC7Yff2XREV1C/RQCoP1WzO3NU4EtmImIJXnNm4tTgaLoGGv1HJuXziyd5v7zOjBzn96793rF0iLHlFT4w4ErA== + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^24.6.0" + babel-plugin-istanbul "^5.1.0" + chalk "^2.0.1" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.1.15" + jest-haste-map "^24.6.0" + jest-regex-util "^24.3.0" + jest-util "^24.6.0" + micromatch "^3.1.10" + realpath-native "^1.1.0" + slash "^2.0.0" + source-map "^0.6.1" + write-file-atomic "2.4.1" + "@jest/transform@^24.8.0": version "24.8.0" resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-24.8.0.tgz#628fb99dce4f9d254c6fd9341e3eea262e06fef5" @@ -998,6 +1056,14 @@ source-map "^0.6.1" write-file-atomic "2.4.1" +"@jest/types@^24.6.0": + version "24.6.0" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.6.0.tgz#cf018e56f3ef45e81119fd613fc20a9819f4eddd" + integrity sha512-hnCMhUokUm6A4HPE9j3pNG9N+bSFfhqje3EbIrW6YjUW2SXuyZxy1QsJdaICo1oN1o2vVSx6qlVqQYkmWVsjiA== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/yargs" "^12.0.9" + "@jest/types@^24.8.0": version "24.8.0" resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.8.0.tgz#f31e25948c58f0abd8c845ae26fcea1491dea7ad" @@ -5164,6 +5230,18 @@ expand-brackets@^2.1.4: snapdragon "^0.8.1" to-regex "^3.0.1" +expect@^24.6.0: + version "24.6.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-24.6.0.tgz#0db9c0acd939d939426f7eef272dc69682b71bb0" + integrity sha512-kxe6ALQboiWfbAvY+ApKyQ42ZGksLPfUhF0Nf0k04aBcLjVxwwn47Uz9Kbv4pELUuzJaU7tvWbvzRpNrIXfcQw== + dependencies: + "@jest/types" "^24.6.0" + ansi-styles "^3.2.0" + jest-get-type "^24.3.0" + jest-matcher-utils "^24.6.0" + jest-message-util "^24.6.0" + jest-regex-util "^24.3.0" + expect@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/expect/-/expect-24.8.0.tgz#471f8ec256b7b6129ca2524b2a62f030df38718d" @@ -6773,6 +6851,28 @@ jest-changed-files@^24.8.0: execa "^1.0.0" throat "^4.0.0" +jest-circus@^24.6.0: + version "24.6.0" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-24.6.0.tgz#a311855f76ce446d5c3ecadca007f42d6aab67ac" + integrity sha512-2mv3yB01BZWTpJiamo18DAI0ZrYIpmJBf/6OWx0KKEnam8VwEh+/jPnXORHwQUHkDZKro+Cv9NIHjU1YObfWZQ== + dependencies: + "@babel/traverse" "^7.1.0" + "@jest/environment" "^24.6.0" + "@jest/test-result" "^24.6.0" + "@jest/types" "^24.6.0" + chalk "^2.0.1" + co "^4.6.0" + expect "^24.6.0" + is-generator-fn "^2.0.0" + jest-each "^24.6.0" + jest-matcher-utils "^24.6.0" + jest-message-util "^24.6.0" + jest-snapshot "^24.6.0" + jest-util "^24.6.0" + pretty-format "^24.6.0" + stack-utils "^1.0.1" + throat "^4.0.0" + jest-cli@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.8.0.tgz#b075ac914492ed114fa338ade7362a301693e989" @@ -6815,6 +6915,16 @@ jest-config@^24.8.0: pretty-format "^24.8.0" realpath-native "^1.1.0" +jest-diff@^24.6.0: + version "24.6.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.6.0.tgz#35858787c07f94ce51df9f865f375c3b4046c25a" + integrity sha512-r+W4NHYot9ywuiO8JJ3WeDxV+8Bu9vNg7YLWmjLx9RQOC7UtiPcODgvLJIckJ2QIwJ4B/EfjiaLGN24Kew/Y2w== + dependencies: + chalk "^2.0.1" + diff-sequences "^24.3.0" + jest-get-type "^24.3.0" + pretty-format "^24.6.0" + jest-diff@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.8.0.tgz#146435e7d1e3ffdf293d53ff97e193f1d1546172" @@ -6832,6 +6942,17 @@ jest-docblock@^24.3.0: dependencies: detect-newline "^2.1.0" +jest-each@^24.6.0: + version "24.6.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-24.6.0.tgz#945699a577fd2362b620ddf31ad1f7699badb2da" + integrity sha512-+LiF4T/sgpAE4j2p449rwHEJUGPcT+aBOo9mbMSqafnOWGY7R4D1O3DZBGtW7ObumSHj7ZuQkigu9vNQqw5oPQ== + dependencies: + "@jest/types" "^24.6.0" + chalk "^2.0.1" + jest-get-type "^24.3.0" + jest-util "^24.6.0" + pretty-format "^24.6.0" + jest-each@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-24.8.0.tgz#a05fd2bf94ddc0b1da66c6d13ec2457f35e52775" @@ -6871,11 +6992,31 @@ jest-get-type@^22.1.0: resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-22.4.3.tgz#e3a8504d8479342dd4420236b322869f18900ce4" integrity sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w== +jest-get-type@^24.3.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" + integrity sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q== + jest-get-type@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.8.0.tgz#a7440de30b651f5a70ea3ed7ff073a32dfe646fc" integrity sha512-RR4fo8jEmMD9zSz2nLbs2j0zvPpk/KCEz3a62jJWbd2ayNo0cb+KFRxPHVhE4ZmgGJEQp0fosmNz84IfqM8cMQ== +jest-haste-map@^24.6.0: + version "24.6.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.6.0.tgz#c6aa40999129fd5cdb52af4ac6c1e8ab653c00d3" + integrity sha512-P0Lhy/vZ/4S7DzVS3KeWMT1FFQ9Qo3QdiqywPoG3FE74iNk44nGzwin3pYnR8dzrfd+SBmutdXLaIfywuU1XxQ== + dependencies: + "@jest/types" "^24.6.0" + fb-watchman "^2.0.0" + graceful-fs "^4.1.15" + invariant "^2.2.4" + jest-serializer "^24.4.0" + jest-util "^24.6.0" + jest-worker "^24.6.0" + micromatch "^3.1.10" + sane "^4.0.3" + jest-haste-map@^24.8.0: version "24.8.1" resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.8.1.tgz#f39cc1d2b1d907e014165b4bd5a957afcb992982" @@ -6924,6 +7065,16 @@ jest-leak-detector@^24.8.0: dependencies: pretty-format "^24.8.0" +jest-matcher-utils@^24.6.0: + version "24.6.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-24.6.0.tgz#8562d38a760238656806df2f77daeca9a0c5851a" + integrity sha512-bXC5aDKXd1t7FfRiEahVoDWuvZI7NMWPd5u8Mn6aPMmQ0k+wG8RmASKjfuCGUOQJ4egV2hTx3wBQ8aipz3qFoA== + dependencies: + chalk "^2.0.1" + jest-diff "^24.6.0" + jest-get-type "^24.3.0" + pretty-format "^24.6.0" + jest-matcher-utils@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-24.8.0.tgz#2bce42204c9af12bde46f83dc839efe8be832495" @@ -6934,6 +7085,20 @@ jest-matcher-utils@^24.8.0: jest-get-type "^24.8.0" pretty-format "^24.8.0" +jest-message-util@^24.6.0: + version "24.6.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.6.0.tgz#585b8dd65c34a9d0e6f68b3feeb46918ee40b976" + integrity sha512-5VEaI9jAm78YlMqNa92670QU/+d4F5TK0eiKEVQ3KwYbVL1kp8RmHg/2oqiKC3LMulyzlIiaqZTnJPk3hcqxwQ== + dependencies: + "@babel/code-frame" "^7.0.0" + "@jest/test-result" "^24.6.0" + "@jest/types" "^24.6.0" + "@types/stack-utils" "^1.0.1" + chalk "^2.0.1" + micromatch "^3.1.10" + slash "^2.0.0" + stack-utils "^1.0.1" + jest-message-util@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.8.0.tgz#0d6891e72a4beacc0292b638685df42e28d6218b" @@ -6948,6 +7113,13 @@ jest-message-util@^24.8.0: slash "^2.0.0" stack-utils "^1.0.1" +jest-mock@^24.6.0: + version "24.6.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.6.0.tgz#fd21d9f0c4b77d6b1cbd320223a56c5ae294b86b" + integrity sha512-GoJKwJrQUlI0yYLUO6fhR+s+aBqgCBERCdA8nDbMuqntkuydwLtMcYJI05eEWXL4zsH5Hw4Z5wfiMLjZsZZ3QA== + dependencies: + "@jest/types" "^24.6.0" + jest-mock@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.8.0.tgz#2f9d14d37699e863f1febf4e4d5a33b7fdbbde56" @@ -6974,6 +7146,17 @@ jest-resolve-dependencies@^24.8.0: jest-regex-util "^24.3.0" jest-snapshot "^24.8.0" +jest-resolve@^24.6.0: + version "24.6.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.6.0.tgz#7ab8e6b274d5dac6df5c4911f0cd0af0124b44f7" + integrity sha512-d72QLxKtVb4M+3GRyxSWMQ2umgTktleqrgarSwpRkRECYE7xg55655cgPEj2cfhBjFkj6Pq4mAU2P3GRploMmQ== + dependencies: + "@jest/types" "^24.6.0" + browser-resolve "^1.11.3" + chalk "^2.0.1" + jest-pnp-resolver "^1.2.1" + realpath-native "^1.1.0" + jest-resolve@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.8.0.tgz#84b8e5408c1f6a11539793e2b5feb1b6e722439f" @@ -7044,6 +7227,24 @@ jest-serializer@^24.4.0: resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.4.0.tgz#f70c5918c8ea9235ccb1276d232e459080588db3" integrity sha512-k//0DtglVstc1fv+GY/VHDIjrtNjdYvYjMlbLUed4kxrE92sIUewOi5Hj3vrpB8CXfkJntRPDRjCrCvUhBdL8Q== +jest-snapshot@^24.6.0: + version "24.6.0" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.6.0.tgz#ec68e0982c1e38cbaefd2cff2c9ac99fdfe5c206" + integrity sha512-G+1q27n6lOdzqpcmP5GnpCfwz4t0E/wasoyNdqvjb6gbLCdfo6Y5ZcPxiclYNOBtGATbbb3IVXeR+ey3aWjSFg== + dependencies: + "@babel/types" "^7.0.0" + "@jest/types" "^24.6.0" + chalk "^2.0.1" + expect "^24.6.0" + jest-diff "^24.6.0" + jest-matcher-utils "^24.6.0" + jest-message-util "^24.6.0" + jest-resolve "^24.6.0" + mkdirp "^0.5.1" + natural-compare "^1.4.0" + pretty-format "^24.6.0" + semver "^5.5.0" + jest-snapshot@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.8.0.tgz#3bec6a59da2ff7bc7d097a853fb67f9d415cb7c6" @@ -7062,6 +7263,24 @@ jest-snapshot@^24.8.0: pretty-format "^24.8.0" semver "^5.5.0" +jest-util@^24.6.0: + version "24.6.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.6.0.tgz#725a380e8f21fcdf53bd5bd5829ee78903ffc756" + integrity sha512-f7JbP/tfJuc955+PMvCI49Mn8wCPe+5CV4vSfc2Pi06jrSDGlsTj6mmc5+UF8ApzIQ7ficTUv4JXXcjplbm9TA== + dependencies: + "@jest/console" "^24.6.0" + "@jest/fake-timers" "^24.6.0" + "@jest/source-map" "^24.3.0" + "@jest/test-result" "^24.6.0" + "@jest/types" "^24.6.0" + callsites "^3.0.0" + chalk "^2.0.1" + graceful-fs "^4.1.15" + is-ci "^2.0.0" + mkdirp "^0.5.1" + slash "^2.0.0" + source-map "^0.6.0" + jest-util@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.8.0.tgz#41f0e945da11df44cc76d64ffb915d0716f46cd1" @@ -9297,6 +9516,16 @@ pretty-format@^23.6.0: ansi-regex "^3.0.0" ansi-styles "^3.2.0" +pretty-format@^24.6.0: + version "24.6.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.6.0.tgz#66124fe5ea5c4d473337a204ece220e8fdc9806c" + integrity sha512-xEeJZFqXgvzSEMxoZ3j4aTaax/pl1upVsfMstcIC048Id84Ve5aqX0WkAta/wFIBLDRz6Tbuj6HcoBXRNk7rtA== + dependencies: + "@jest/types" "^24.6.0" + ansi-regex "^4.0.0" + ansi-styles "^3.2.0" + react-is "^16.8.4" + pretty-format@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.8.0.tgz#8dae7044f58db7cb8be245383b565a963e3c27f2"