summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorHank <hank@mullvad.net>2022-09-12 09:36:55 +0200
committerHank <hank@mullvad.net>2022-09-20 11:32:56 +0200
commit7bbf9b782aee07dd7c59f6e5f0cc3801929e6776 (patch)
tree29b9f832934bdc17f716f08349f5e74283136cbb
parentdab902ccc309c0e96c993e34dfbda4ce6582c68c (diff)
downloadmullvadvpn-7bbf9b782aee07dd7c59f6e5f0cc3801929e6776.tar.xz
mullvadvpn-7bbf9b782aee07dd7c59f6e5f0cc3801929e6776.zip
Run Playwright tests in Github
-rw-r--r--.github/workflows/frontend.yml3
-rw-r--r--gui/package-lock.json26
-rw-r--r--gui/package.json7
3 files changed, 32 insertions, 4 deletions
diff --git a/.github/workflows/frontend.yml b/.github/workflows/frontend.yml
index 6cd1e415c6..203ac0f724 100644
--- a/.github/workflows/frontend.yml
+++ b/.github/workflows/frontend.yml
@@ -53,3 +53,6 @@ jobs:
working-directory: gui
run: npm test
+ - name: Run Playwright tests
+ working-directory: gui
+ run: npm run e2e:no-build
diff --git a/gui/package-lock.json b/gui/package-lock.json
index 3a7c6bb2a3..6907265f4f 100644
--- a/gui/package-lock.json
+++ b/gui/package-lock.json
@@ -80,7 +80,8 @@
"tsc-watch": "^4.2.9",
"typescript": "^4.5.4",
"vinyl-buffer": "^1.0.1",
- "vinyl-source-stream": "^2.0.0"
+ "vinyl-source-stream": "^2.0.0",
+ "xvfb-maybe": "^0.2.1"
},
"engines": {
"node": ">=16",
@@ -14081,6 +14082,19 @@
"node": ">=0.4"
}
},
+ "node_modules/xvfb-maybe": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/xvfb-maybe/-/xvfb-maybe-0.2.1.tgz",
+ "integrity": "sha512-9IyRz3l6Qyhl6LvnGRF5jMPB4oBEepQnuzvVAFTynP6ACLLSevqigICJ9d/+ofl29m2daeaVBChnPYUnaeJ7yA==",
+ "dev": true,
+ "dependencies": {
+ "debug": "^2.2.0",
+ "which": "^1.2.4"
+ },
+ "bin": {
+ "xvfb-maybe": "src/xvfb-maybe.js"
+ }
+ },
"node_modules/y18n": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz",
@@ -25552,6 +25566,16 @@
"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
"dev": true
},
+ "xvfb-maybe": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/xvfb-maybe/-/xvfb-maybe-0.2.1.tgz",
+ "integrity": "sha512-9IyRz3l6Qyhl6LvnGRF5jMPB4oBEepQnuzvVAFTynP6ACLLSevqigICJ9d/+ofl29m2daeaVBChnPYUnaeJ7yA==",
+ "dev": true,
+ "requires": {
+ "debug": "^2.2.0",
+ "which": "^1.2.4"
+ }
+ },
"y18n": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz",
diff --git a/gui/package.json b/gui/package.json
index 3400055851..02b66c87e8 100644
--- a/gui/package.json
+++ b/gui/package.json
@@ -86,7 +86,8 @@
"tsc-watch": "^4.2.9",
"typescript": "^4.5.4",
"vinyl-buffer": "^1.0.1",
- "vinyl-source-stream": "^2.0.0"
+ "vinyl-source-stream": "^2.0.0",
+ "xvfb-maybe": "^0.2.1"
},
"scripts": {
"postinstall": "cross-env ELECTRON_BUILDER_ALLOW_UNRESOLVED_DEPENDENCIES=true electron-builder install-app-deps",
@@ -95,8 +96,8 @@
"lint": "eslint --ext tsx,ts .",
"format": "prettier \"**/*.{js,css,ts,tsx}\" --write",
"tsc": "tsc -p . --noEmit",
- "e2e": "npm run build && playwright test",
- "e2e:no-build": "playwright test",
+ "e2e": "npm run build && npm run e2e:no-build",
+ "e2e:no-build": "xvfb-maybe -- playwright test",
"develop": "gulp develop",
"test": "cross-env NODE_ENV=test electron-mocha --renderer --reporter spec --require ts-node/register --require \"test/setup/renderer.ts\" \"test/**/*.{ts,tsx}\"",
"update-translations": "node scripts/extract-translations",