From 759d19199218a930ba7f7dbc7f9faf92e57b6614 Mon Sep 17 00:00:00 2001 From: Miralem Drek Date: Tue, 3 Dec 2019 15:57:37 +0100 Subject: [PATCH] chore: add unit test coverage reporting (#207) --- .circleci/config.yml | 10 +++++- apis/nucleus/src/__tests__/nucleus.spec.js | 2 +- package.json | 5 +-- yarn.lock | 37 +++++++++++++++++++++- 4 files changed, 49 insertions(+), 5 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 8915a0928..bb3f5a425 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -48,7 +48,15 @@ jobs: - run: name: Unit tests - command: yarn run test:unit + command: | + yarn run test:unit --mocha.bail false --mocha.reporter mocha-junit-reporter --mocha.reporterOptions.mochaFile ./coverage/junit/junit.xml + if [ ! -z "$COVERALLS_REPO_TOKEN" ]; then + echo "Uploading coverage results to coveralls.io..." + cat ./coverage/unit/lcov.info | npx coveralls + fi + + - store_test_results: + path: coverage/junit - run: name: Import app diff --git a/apis/nucleus/src/__tests__/nucleus.spec.js b/apis/nucleus/src/__tests__/nucleus.spec.js index 1f8c0b3dc..c694dd18a 100644 --- a/apis/nucleus/src/__tests__/nucleus.spec.js +++ b/apis/nucleus/src/__tests__/nucleus.spec.js @@ -1,7 +1,7 @@ const doMock = ({ appThemeFn, getObject, createObject }) => aw.mock( [ - ['**/locale/index.js', () => () => ({ translator: () => ({}) })], + ['**/locale/app-locale.js', () => () => ({ translator: () => ({ add: () => {} }) })], ['**/selections/index.js', () => ({ createAppSelectionAPI: () => ({}) })], ['**/components/NebulaApp.jsx', () => () => ({})], ['**/components/selections/AppSelections.jsx', () => () => ({})], diff --git a/package.json b/package.json index 7acd08a73..1ffb3e7fc 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "test": "yarn run test:unit", "test:integration": "aw puppet -c aw.config.js --testExt '*.int.js' --glob 'test/integration/*.int.js'", "test:component": "aw puppet -c aw.config.js --testExt '*.comp.js' --glob 'test/component/**/*.comp.js'", - "test:unit": "aw -c aw.config.js" + "test:unit": "aw -c aw.config.js --nyc.reportDir coverage/unit --coverage" }, "repository": { "type": "git", @@ -56,8 +56,9 @@ "husky": "3.1.0", "lerna": "3.18.5", "lint-staged": "9.4.3", - "picasso.js": "0.29.0", + "mocha-junit-reporter": "^1.23.1", "picasso-plugin-q": "0.29.0", + "picasso.js": "0.29.0", "prettier": "1.19.1", "qix-faker": "^0.3.0", "rollup": "1.27.2", diff --git a/yarn.lock b/yarn.lock index 02a2d03fb..31e19d11a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5602,6 +5602,11 @@ chardet@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" +charenc@~0.0.1: + version "0.0.2" + resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" + integrity sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc= + check-error@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" @@ -6401,6 +6406,11 @@ cross-spawn@^7.0.0: shebang-command "^1.2.0" which "^1.2.9" +crypt@~0.0.1: + version "0.0.2" + resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" + integrity sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs= + crypto-browserify@^3.11.0: version "3.12.0" resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" @@ -9472,7 +9482,7 @@ is-binary-path@^2.1.0, is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" -is-buffer@^1.0.2, is-buffer@^1.1.5: +is-buffer@^1.0.2, is-buffer@^1.1.5, is-buffer@~1.1.1: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" @@ -10812,6 +10822,15 @@ md5.js@^1.3.4: inherits "^2.0.1" safe-buffer "^5.1.2" +md5@^2.1.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/md5/-/md5-2.2.1.tgz#53ab38d5fe3c8891ba465329ea23fac0540126f9" + integrity sha1-U6s41f48iJG6RlMp6iP6wFQBJvk= + dependencies: + charenc "~0.0.1" + crypt "~0.0.1" + is-buffer "~1.1.1" + mdast-squeeze-paragraphs@^3.0.0: version "3.0.5" resolved "https://registry.yarnpkg.com/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-3.0.5.tgz#f428b6b944f8faef454db9b58f170c4183cb2e61" @@ -11197,6 +11216,17 @@ mkdirp@*, mkdirp@0.5.1, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1: dependencies: minimist "0.0.8" +mocha-junit-reporter@^1.23.1: + version "1.23.1" + resolved "https://registry.yarnpkg.com/mocha-junit-reporter/-/mocha-junit-reporter-1.23.1.tgz#ba11519c0b967f404e4123dd69bc4ba022ab0f12" + integrity sha512-qeDvKlZyAH2YJE1vhryvjUQ06t2hcnwwu4k5Ddwn0GQINhgEYFhlGM0DwYCVUHq5cuo32qAW6HDsTHt7zz99Ng== + dependencies: + debug "^2.2.0" + md5 "^2.1.0" + mkdirp "~0.5.1" + strip-ansi "^4.0.0" + xml "^1.0.0" + mocha@6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/mocha/-/mocha-6.2.0.tgz#f896b642843445d1bb8bca60eabd9206b8916e56" @@ -16326,6 +16356,11 @@ xml2js@^0.4.5: sax ">=0.6.0" xmlbuilder "~9.0.1" +xml@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/xml/-/xml-1.0.1.tgz#78ba72020029c5bc87b8a81a3cfcd74b4a2fc1e5" + integrity sha1-eLpyAgApxbyHuKgaPPzXS0ovweU= + xmlbuilder@~9.0.1: version "9.0.7" resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d"