diff --git a/.gitignore b/.gitignore index c780de3..df6f726 100644 --- a/.gitignore +++ b/.gitignore @@ -65,3 +65,6 @@ typings/ # the jest test setup file with secrets testSetup.ts + +# testcoverage +testcoverage diff --git a/.travis.yml b/.travis.yml index 092ab73..300bc1b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,7 +11,8 @@ before_script: - echo "jest.retryTimes(5);" > testSetup.ts script: - - npm run test + # - npm run test + - npm run coveralls deploy: provider: pages diff --git a/README.md b/README.md index 9e1c54f..d826de4 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# mtn-pay-js [![Build Status](https://travis-ci.org/sopherapps/mtn-pay-js.svg?branch=master)](https://travis-ci.org/sopherapps/mtn-pay-js) +# mtn-pay-js [![Build Status](https://travis-ci.org/sopherapps/mtn-pay-js.svg?branch=master)](https://travis-ci.org/sopherapps/mtn-pay-js) [![Coverage Status](https://coveralls.io/repos/github/sopherapps/mtn-pay-js/badge.svg?branch=master)](https://coveralls.io/github/sopherapps/mtn-pay-js?branch=master) An unofficial JavaScript/Typescript client package for querying the MTN Mobile Money API diff --git a/jestconfig.json b/jestconfig.json index fb9068b..6c1b50f 100644 --- a/jestconfig.json +++ b/jestconfig.json @@ -11,6 +11,23 @@ "json", "node" ], + "coverageDirectory": "testcoverage", + "coveragePathIgnorePatterns": [ + "/node_modules/", + "/docs/", + "/lib", + "testcoverage", + "testSetup" + ], + "collectCoverageFrom": [ + "**/*.{js,jsx,ts,tsx}", + "!**/node_modules/**", + "!**/vendor/**", + "!**/__tests__/**", + "!**/docs/**", + "!**/lib/**", + "!**/testcoverage/**" + ], "setupFiles": [ "./testSetup.ts" ], diff --git a/package-lock.json b/package-lock.json index 6228f90..7eb7575 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1153,6 +1153,28 @@ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, + "coveralls": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.0.3.tgz", + "integrity": "sha512-viNfeGlda2zJr8Gj1zqXpDMRjw9uM54p7wzZdvLRyOgnAfCe974Dq4veZkjJdxQXbmdppu6flEajFYseHYaUhg==", + "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.86.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, "cross-spawn": { "version": "6.0.5", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", @@ -2313,6 +2335,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", @@ -3374,6 +3402,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", @@ -3430,6 +3464,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 + }, "loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", diff --git a/package.json b/package.json index e998669..d3a5b68 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,8 @@ "preversion": "npm run lint", "version": "npm run format && npm run typedoc && git add -A src && git add -A docs", "postversion": "git push && git push --tags", - "typedoc": "typedoc --out docs src --theme minimal" + "typedoc": "typedoc --out docs src --theme minimal", + "coveralls": "jest --coverage --config jestconfig.json --runInBand && cat ./testcoverage/lcov.info | coveralls" }, "repository": { "type": "git", @@ -34,6 +35,7 @@ "homepage": "https://github.com/sopherapps/mtn-pay-js#readme", "devDependencies": { "@types/jest": "^24.0.13", + "coveralls": "^3.0.3", "jest": "^24.8.0", "jest-circus": "^24.8.0", "prettier": "^1.17.1", @@ -51,4 +53,4 @@ "axios": "^0.19.0", "uuidjs": "^4.2.1" } -} +} \ No newline at end of file