From d18a8eae9125b4044c94e0073fd56c9be7ff24ce Mon Sep 17 00:00:00 2001 From: Thomas Lombart Date: Mon, 28 Oct 2019 13:00:41 +0100 Subject: [PATCH] test: enforce 100% coverage on CI --- jest.config.js | 8 +++++++ package-lock.json | 53 +++++++++++++++++++++++++++++++++++++++++++++++ package.json | 5 ++++- 3 files changed, 65 insertions(+), 1 deletion(-) diff --git a/jest.config.js b/jest.config.js index 80c060ea..f3853132 100644 --- a/jest.config.js +++ b/jest.config.js @@ -1,3 +1,11 @@ module.exports = { testMatch: ['**/tests/**/*.js'], + coverageThreshold: { + global: { + branches: 100, + functions: 100, + lines: 100, + statements: 100, + }, + }, }; diff --git a/package-lock.json b/package-lock.json index f754867f..58bb0e1d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5155,6 +5155,59 @@ "ci-info": "^2.0.0" } }, + "is-ci-cli": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci-cli/-/is-ci-cli-2.0.0.tgz", + "integrity": "sha512-pgdXwbBaRfyG3XJ/+AYbgCb5WE10TZwj4pvoSYI1YrmGDslcS0lhvqvAKmZrSq2248/jGoZ2g9yC63APlBy1uQ==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "is-ci": "^2.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz", + "integrity": "sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "path-key": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.0.tgz", + "integrity": "sha512-8cChqz0RP6SHJkMt48FW0A7+qUOn+OsnOsVtzI59tZ8m+5bCSk7hzwET0pulwOM2YMn9J1efb07KB9l9f30SGg==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "which": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.1.tgz", + "integrity": "sha512-N7GBZOTswtB9lkQBZA4+zAXrjEIWAUOB93AvzUiudRzRxhUdLURQ7D/gAIMY1gatT/LTbmbcv8SiYazy3eYB7w==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, "is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", diff --git a/package.json b/package.json index 01dc89d7..d89b7d79 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,9 @@ "lint": "eslint ./", "lint:fix": "npm run lint -- --fix", "format": "prettier --write README.md {lib,docs,tests}/**/*.{js,md}", - "test": "jest", + "test:local": "jest", + "test:ci": "jest --coverage", + "test": "is-ci test:ci test:local", "semantic-release": "semantic-release" }, "dependencies": {}, @@ -46,6 +48,7 @@ "eslint-plugin-promise": "^4.2.1", "eslint-plugin-standard": "^4.0.1", "husky": "^3.0.5", + "is-ci-cli": "^2.0.0", "jest": "^24.9.0", "lint-staged": "^9.2.5", "prettier": "1.18.2",