diff --git a/.eslintrc.js b/.eslintrc.js
index abf2e6c..1f19751 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -3,7 +3,6 @@ module.exports = {
extends: [
"eslint:recommended",
"plugin:vue/recommended",
- "plugin:prettier/recommended",
"plugin:security/recommended"
],
parserOptions: {
diff --git a/.github/workflows/e2e-test.yaml b/.github/workflows/e2e-test.yaml
new file mode 100644
index 0000000..2013d89
--- /dev/null
+++ b/.github/workflows/e2e-test.yaml
@@ -0,0 +1,25 @@
+name: End to end test
+
+on: push
+
+jobs:
+ e2e-test:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+
+ - name: Read .nvmrc
+ run: echo NVMRC=`cat .nvmrc` >> $GITHUB_ENV
+
+ - name: Setup node
+ uses: actions/setup-node@v2
+ with:
+ node-version: ${{ env.NVMRC }}
+ cache: 'yarn'
+
+ - run: yarn install
+
+ - name: Install operating system dependencies
+ run: npx playwright install-deps
+
+ - run: npm run test:e2e
diff --git a/.github/workflows/yarn.yml b/.github/workflows/yarn.yml
index 937a87b..0a6a71a 100644
--- a/.github/workflows/yarn.yml
+++ b/.github/workflows/yarn.yml
@@ -7,7 +7,14 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- - uses: actions/setup-node@v2-beta
+
+ - name: Read .nvmrc
+ run: echo NVMRC=`cat .nvmrc` >> $GITHUB_ENV
+
+ - name: Setup node
+ uses: actions/setup-node@v2
+ with:
+ node-version: ${{ env.NVMRC }}
- name: Get yarn cache directory path
id: yarn-cache-dir-path
diff --git a/.gitignore b/.gitignore
index 53d885d..60c0cad 100644
--- a/.gitignore
+++ b/.gitignore
@@ -20,4 +20,4 @@ yarn-error.log*
*.sln
*.sw*
-.test-results
+test-results
diff --git a/README.md b/README.md
index 98d3ab6..9be9d62 100644
--- a/README.md
+++ b/README.md
@@ -65,11 +65,16 @@ yarn run serve
yarn run build
```
-#### Run your tests
+#### Run unit tests
```
yarn run test:unit
```
+#### Run end-to-end UI tests
+```
+yarn run test:e2e
+```
+
#### Lints and fixes files
```
yarn run lint
diff --git a/package.json b/package.json
index 3fea229..dbb5af6 100644
--- a/package.json
+++ b/package.json
@@ -12,7 +12,8 @@
"build": "vue-cli-service build",
"deploy": "gh-pages -b gh-pages -d dist -a",
"lint": "vue-cli-service lint",
- "test:unit": "vue-cli-service test:unit"
+ "test:unit": "vue-cli-service test:unit",
+ "test:e2e": "playwright test"
},
"dependencies": {
"base64-js": "^1.3.0",
@@ -27,12 +28,14 @@
"vue-router": "^3.0.1"
},
"devDependencies": {
+ "@playwright/test": "^1.16.3",
+ "@types/fluent-ffmpeg": "^2.1.19",
"@types/jest": "^26.0.24",
"@typescript-eslint/parser": "^4.31.2",
- "@vue/cli-plugin-eslint": "^4.5.13",
- "@vue/cli-plugin-typescript": "^4.5.13",
- "@vue/cli-plugin-unit-jest": "^4.5.13",
- "@vue/cli-service": "^3.1.4",
+ "@vue/cli-plugin-eslint": "^4.5.15",
+ "@vue/cli-plugin-typescript": "^4.5.15",
+ "@vue/cli-plugin-unit-jest": "^4.5.15",
+ "@vue/cli-service": "^4.5.15",
"@vue/test-utils": "^1.0.0-beta.20",
"eslint": "^5.8.0",
"eslint-config-prettier": "^6.11.0",
@@ -40,10 +43,12 @@
"eslint-plugin-security": "^1.4.0",
"eslint-plugin-vue": "^6.2.2",
"fast-text-encoding": "^1.0.0",
+ "fluent-ffmpeg": "^2.1.2",
"gh-pages": "^2.0.1",
"html-webpack-inline-source-plugin": "1.0.0-beta.2",
"html-webpack-plugin": "4.0.0-beta.4",
"jest-junit": "^6.0.1",
+ "playwright": "^1.16.3",
"ts-jest": "^26.4.4",
"vue-template-compiler": "^2.5.17",
"vuetype": "^0.3.2"
@@ -58,7 +63,7 @@
"last 2 versions"
],
"jest-junit": {
- "outputDirectory": ".test-results/jest",
+ "outputDirectory": "test-results/jest",
"oputputName": "results.xml"
}
}
diff --git a/playwright.config.ts b/playwright.config.ts
new file mode 100644
index 0000000..45c7bdd
--- /dev/null
+++ b/playwright.config.ts
@@ -0,0 +1,13 @@
+import { PlaywrightTestConfig } from "@playwright/test";
+const config: PlaywrightTestConfig = {
+ webServer: {
+ command: "NODE_ENV=test npm run serve -- --port 8888",
+ port: 8888,
+ reuseExistingServer: false
+ },
+ testDir: "tests/e2e",
+ use: {
+ browserName: "chromium"
+ }
+};
+export default config;
diff --git a/src/App.vue b/src/App.vue
index 143b4ca..7b8faee 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -15,10 +15,10 @@
@@ -60,7 +73,7 @@
-