From 97c0c6191b07a05191bd4bc3884d6afcd596e8d6 Mon Sep 17 00:00:00 2001 From: lana-k Date: Sat, 24 Apr 2021 16:00:31 +0200 Subject: [PATCH] run tests in Firefox --- .github/workflows/test.yml | 9 ++--- karma.conf.js | 4 +-- package-lock.json | 68 ++++++++++++++++++++++++++++++++++++++ package.json | 1 + tests/file.utils.spec.js | 2 +- 5 files changed, 77 insertions(+), 7 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 85415b6..e9154c2 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,10 +15,11 @@ jobs: uses: actions/setup-node@v1 with: node-version: 10.x - - name: Install chromium - run: - sudo DEBIAN_FRONTEND=noninteractive apt-get update && - sudo DEBIAN_FRONTEND=noninteractive apt-get install -y chromium-browser + - name: Install browsers + run: | + export DEBIAN_FRONTEND=noninteractive + sudo apt-get update + sudo apt-get install -y chromium-browser firefox - name: Install the project run: npm install diff --git a/karma.conf.js b/karma.conf.js index ceb8523..096976c 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -78,7 +78,7 @@ module.exports = function (config) { // start these browsers // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher - browsers: ['ChromiumHeadless'], + browsers: ['ChromiumHeadless', 'FirefoxHeadless'], // Continuous Integration mode // if true, Karma captures browsers, runs the tests and exits @@ -86,7 +86,7 @@ module.exports = function (config) { // Concurrency level // how many browser should be started simultaneous - concurrency: Infinity, + concurrency: 2, client: { captureConsole: true diff --git a/package-lock.json b/package-lock.json index 910c47c..57e503a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -47,6 +47,7 @@ "eslint-plugin-standard": "^4.0.0", "eslint-plugin-vue": "^6.2.2", "karma": "^3.1.4", + "karma-firefox-launcher": "^2.1.0", "karma-webpack": "^4.0.2", "vue-cli-plugin-ui-karma": "^0.2.5", "vue-template-compiler": "^2.6.11", @@ -12397,6 +12398,43 @@ "url": "https://github.com/sponsors/mattlewis92" } }, + "node_modules/karma-firefox-launcher": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-2.1.0.tgz", + "integrity": "sha512-dkiyqN2R6fCWt78rciOXJLFDWcQ7QEQi++HgebPJlw1y0ycDjGNDHuSrhdh48QG02fzZKK20WHFWVyBZ6CPngg==", + "dev": true, + "dependencies": { + "is-wsl": "^2.2.0", + "which": "^2.0.1" + } + }, + "node_modules/karma-firefox-launcher/node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/karma-firefox-launcher/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/karma-jasmine": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-2.0.1.tgz", @@ -33362,6 +33400,36 @@ "minimatch": "^3.0.4" } }, + "karma-firefox-launcher": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-2.1.0.tgz", + "integrity": "sha512-dkiyqN2R6fCWt78rciOXJLFDWcQ7QEQi++HgebPJlw1y0ycDjGNDHuSrhdh48QG02fzZKK20WHFWVyBZ6CPngg==", + "dev": true, + "requires": { + "is-wsl": "^2.2.0", + "which": "^2.0.1" + }, + "dependencies": { + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, "karma-jasmine": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-2.0.1.tgz", diff --git a/package.json b/package.json index 5a5a1d8..ffcb984 100644 --- a/package.json +++ b/package.json @@ -48,6 +48,7 @@ "eslint-plugin-standard": "^4.0.0", "eslint-plugin-vue": "^6.2.2", "karma": "^3.1.4", + "karma-firefox-launcher": "^2.1.0", "karma-webpack": "^4.0.2", "vue-cli-plugin-ui-karma": "^0.2.5", "vue-template-compiler": "^2.6.11", diff --git a/tests/file.utils.spec.js b/tests/file.utils.spec.js index 879f155..fa02173 100644 --- a/tests/file.utils.spec.js +++ b/tests/file.utils.spec.js @@ -59,7 +59,7 @@ describe('file.utils.js', () => { it('importFile', () => { const spyInput = document.createElement('input') - sinon.spy(spyInput, 'click') + sinon.stub(spyInput, 'click') const blob = new Blob(['foo']) Object.defineProperty(spyInput, 'files', {