From 59e53cce75d5942c7b87e489a7e8eb56a6923219 Mon Sep 17 00:00:00 2001 From: Joshua Carp Date: Sun, 19 Nov 2017 19:53:25 -0500 Subject: [PATCH 1/2] Record test coverage. --- .travis.yml | 2 ++ jest.config.js | 14 ++++++++++++-- jest.config.sqlite.js | 28 ++++++---------------------- package.json | 1 + 4 files changed, 21 insertions(+), 24 deletions(-) diff --git a/.travis.yml b/.travis.yml index 228d453b3..96969ec57 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,3 +7,5 @@ before_script: - psql -c 'CREATE DATABASE spoke_test;' -U postgres - psql -c "CREATE USER spoke_test WITH PASSWORD 'spoke_test';" -U postgres - psql -c 'GRANT ALL PRIVILEGES ON DATABASE spoke_test TO spoke_test;' -U postgres +script: +- npm run test-coverage diff --git a/jest.config.js b/jest.config.js index dff686867..5a6029857 100644 --- a/jest.config.js +++ b/jest.config.js @@ -1,7 +1,16 @@ module.exports = { testEnvironment: "node", globals: { - DB_JSON: "{\"client\":\"pg\",\"connection\":{\"host\":\"127.0.0.1\",\"port\":\"5432\",\"database\":\"spoke_test\",\"password\":\"spoke_test\",\"user\":\"spoke_test\"}}", + DB_JSON: JSON.stringify({ + client: "pg", + connection: { + host: "127.0.0.1", + "port": "5432", + "database": "spoke_test", + "password": "spoke_test", + "user": "spoke_test" + }, + }), JOBS_SYNC: true, JOBS_SAME_PROCESS: true }, @@ -18,5 +27,6 @@ module.exports = { moduleNameMapper: { "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "/__mocks__/fileMock.js", "\\.(css|less)$": "/__mocks__/styleMock.js" - } + }, + collectCoverageFrom : ["**/*.{js,jsx}", "!**/node_modules/**", "!**/__test__/**", "!**/deploy/**"] }; diff --git a/jest.config.sqlite.js b/jest.config.sqlite.js index b6b570c82..872856528 100644 --- a/jest.config.sqlite.js +++ b/jest.config.sqlite.js @@ -1,22 +1,6 @@ -module.exports = { - testEnvironment: "node", - globals: { - DB_JSON: "{\"client\":\"sqlite3\",\"connection\":{\"filename\":\"./test.sqlite\"},\"defaultsUnsupported\":true}", - JOBS_SYNC: true, - JOBS_SAME_PROCESS: true - }, - moduleFileExtensions: [ - "js", - "jsx" - ], - transform: { - ".*.js": "/node_modules/babel-jest" - }, - moduleDirectories: [ - "node_modules" - ], - moduleNameMapper: { - "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "/__mocks__/fileMock.js", - "\\.(css|less)$": "/__mocks__/styleMock.js" - } -}; +module.exports = require('./jest.config') +module.exports.globals.DB_JSON = JSON.stringify({ + client: "sqlite3", + connection: {filename:"./test.sqlite"}, + defaultsUnsupported: true +}) diff --git a/package.json b/package.json index 6558ff5ce..5a44cfb84 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ }, "scripts": { "test": "jest", + "test-coverage": "jest --coverage", "clean": "rm -rf $OUTPUT_DIR", "lint": "eslint --fix --ext js --ext jsx src; exit 0", "prod-build-client": "webpack --config ./webpack/config.js", From cbe5aa49494ef086d99f457e90a95beb4662844c Mon Sep 17 00:00:00 2001 From: Joshua Carp Date: Mon, 20 Nov 2017 12:06:54 -0500 Subject: [PATCH 2/2] Report test coverage from travis. --- .travis.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.travis.yml b/.travis.yml index 96969ec57..cad3c015b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,9 +3,18 @@ node_js: - "6.10.3" services: - postgresql +env: + global: + - secure: TODO before_script: - psql -c 'CREATE DATABASE spoke_test;' -U postgres - psql -c "CREATE USER spoke_test WITH PASSWORD 'spoke_test';" -U postgres - psql -c 'GRANT ALL PRIVILEGES ON DATABASE spoke_test TO spoke_test;' -U postgres + + - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter + - chmod +x ./cc-test-reporter + - ./cc-test-reporter before-build script: - npm run test-coverage +after_script: +- ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT