From 5fa3fb906853bfe8cf1fcfb2ec747b7617a27683 Mon Sep 17 00:00:00 2001 From: Kizito Akhilome Date: Thu, 10 Jan 2019 10:39:57 +0100 Subject: [PATCH] chore(coveralls): setup coverage reporting - install and configure coveralls for test coverage reporting - configure travis to run coverage script - add new test file - configure jest to transform imported css [Finishes #162953723] --- .gitignore | 1 + .travis.yml | 1 + README.md | 2 +- jest.config.json | 5 ++- package-lock.json | 32 +++++++++++++++++++ package.json | 3 ++ src/tests/__mocks__/styleMock.js | 1 + src/tests/components/App.test.jsx | 10 ++++++ .../__snapshots__/App.test.jsx.snap | 24 ++++++++++++++ 9 files changed, 77 insertions(+), 2 deletions(-) create mode 100644 src/tests/__mocks__/styleMock.js create mode 100644 src/tests/components/App.test.jsx create mode 100644 src/tests/components/__snapshots__/App.test.jsx.snap diff --git a/.gitignore b/.gitignore index 940d56a..3c6c28c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ node_modules/ dist +coverage diff --git a/.travis.yml b/.travis.yml index 2392f07..c479d0d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,3 +6,4 @@ cache: - node_modules script: - npm test + - npm run coveralls diff --git a/README.md b/README.md index 38616ca..e8b3ef2 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ -# kiakiafood [![Build Status](https://travis-ci.org/akhilome/kiakiafood.svg?branch=develop)](https://travis-ci.org/akhilome/kiakiafood) +# kiakiafood [![Build Status](https://travis-ci.org/akhilome/kiakiafood.svg?branch=develop)](https://travis-ci.org/akhilome/kiakiafood) [![Coverage Status](https://coveralls.io/repos/github/akhilome/kiakiafood/badge.svg?branch=develop)](https://coveralls.io/github/akhilome/kiakiafood?branch=develop) A resturant delivery application diff --git a/jest.config.json b/jest.config.json index 85489f4..a000395 100644 --- a/jest.config.json +++ b/jest.config.json @@ -1,4 +1,7 @@ { "setupFiles": ["/src/tests/setupTests.js"], - "snapshotSerializers": ["enzyme-to-json/serializer"] + "snapshotSerializers": ["enzyme-to-json/serializer"], + "moduleNameMapper": { + "\\.(css)$": "/src/tests/__mocks__/styleMock.js" + } } diff --git a/package-lock.json b/package-lock.json index 216a280..fa1ca77 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2630,6 +2630,20 @@ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, + "coveralls": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.0.2.tgz", + "integrity": "sha512-Tv0LKe/MkBOilH2v7WBiTBdudg2ChfGbdXafc/s330djpF3zKOmuehTeRwjXWc7pzfj9FrDUTA7tEx6Div8NFw==", + "dev": true, + "requires": { + "growl": "~> 1.10.0", + "js-yaml": "^3.11.0", + "lcov-parse": "^0.0.10", + "log-driver": "^1.2.7", + "minimist": "^1.2.0", + "request": "^2.85.0" + } + }, "create-ecdh": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", @@ -5081,6 +5095,12 @@ "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", "dev": true }, + "growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "dev": true + }, "growly": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", @@ -7601,6 +7621,12 @@ "invert-kv": "^2.0.0" } }, + "lcov-parse": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.10.tgz", + "integrity": "sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM=", + "dev": true + }, "left-pad": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", @@ -7716,6 +7742,12 @@ "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", "dev": true }, + "log-driver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz", + "integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==", + "dev": true + }, "loglevel": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.1.tgz", diff --git a/package.json b/package.json index 26c3eca..16a54ac 100644 --- a/package.json +++ b/package.json @@ -5,6 +5,8 @@ "main": "index.js", "scripts": { "test": "jest --config=jest.config.json", + "coverage": "npm run test -- --coverage", + "coveralls": "npm run coverage && cat ./coverage/lcov.info | coveralls", "build": "webpack --config webpack.config.prod.js", "dev": "webpack-dev-server --open --config webpack.config.dev.js", "dev:hot": "npm run dev -- --hot" @@ -39,6 +41,7 @@ "babel-eslint": "^10.0.1", "babel-jest": "^23.6.0", "babel-loader": "^8.0.5", + "coveralls": "^3.0.2", "css-loader": "^2.1.0", "enzyme": "^3.8.0", "enzyme-adapter-react-16": "^1.7.1", diff --git a/src/tests/__mocks__/styleMock.js b/src/tests/__mocks__/styleMock.js new file mode 100644 index 0000000..f053ebf --- /dev/null +++ b/src/tests/__mocks__/styleMock.js @@ -0,0 +1 @@ +module.exports = {}; diff --git a/src/tests/components/App.test.jsx b/src/tests/components/App.test.jsx new file mode 100644 index 0000000..468a009 --- /dev/null +++ b/src/tests/components/App.test.jsx @@ -0,0 +1,10 @@ +import React from 'react'; +import { shallow } from 'enzyme'; +import App from '../../components/App'; + +describe('App component', () => { + it('should render app correctly', () => { + const wrapper = shallow(); + expect(wrapper).toMatchSnapshot(); + }); +}); diff --git a/src/tests/components/__snapshots__/App.test.jsx.snap b/src/tests/components/__snapshots__/App.test.jsx.snap new file mode 100644 index 0000000..269b6d6 --- /dev/null +++ b/src/tests/components/__snapshots__/App.test.jsx.snap @@ -0,0 +1,24 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`App component should render app correctly 1`] = ` + + + + + + + + +`;