summaryrefslogtreecommitdiffhomepage
path: root/gui
diff options
context:
space:
mode:
authorOskar Nyberg <oskar@mullvad.net>2022-12-12 13:24:38 +0100
committerOskar Nyberg <oskar@mullvad.net>2022-12-14 10:39:00 +0100
commitb4ff5c5a566bdfaf8588ce3466d80cd64e3eced5 (patch)
tree26fe53dd7cccd8ea0de95df30acf1be1a1d6b681 /gui
parentb31f28baad2ea8e0b726629831544b3e78e230df (diff)
downloadmullvadvpn-b4ff5c5a566bdfaf8588ce3466d80cd64e3eced5.tar.xz
mullvadvpn-b4ff5c5a566bdfaf8588ce3466d80cd64e3eced5.zip
Add readme to gui directory
Diffstat (limited to 'gui')
-rw-r--r--gui/README.md54
1 files changed, 54 insertions, 0 deletions
diff --git a/gui/README.md b/gui/README.md
new file mode 100644
index 0000000000..068b5dd70e
--- /dev/null
+++ b/gui/README.md
@@ -0,0 +1,54 @@
+# Mullvad VPN Electron app
+
+This directory contains the files specific to the Electron app for the desktop platforms.
+
+## Building and running the app
+
+See the [build instructions](../BuildInstructions.md) for help building or running the app in
+development mode.
+
+
+## Automated tests
+
+The app has unit tests and integration tests located in test/:
+- **test/unit** (`npm run test`): Unit tests for specific parts of the app.
+- **test/e2e**: End-to-end tests running against the UI.
+ - **test/e2e/mocked** (`npm run e2e`): Tests running against the renderer process with a mocked
+ main process (And therefore no daemon).
+ - **test/e2e/installed** (`npm run e2e:installed <tests to run>`): Tests running against the app
+ at its install path (See [Standalone test executable](#standalone-test-executable) for more info).
+ - **test/e2e/installed/state-dependent** (`npm run e2e:installed state-dependent`): Tests
+ requireing the daemon to be set into a specific state first.
+
+### Standalone test executable
+
+The tests in **test/e2e/installed** are run against the already installed app using the currently
+running daemon. It's possible to run these tests on any machine with the app installed by running
+```
+npm run e2e:installed
+```
+or without building by running
+```
+npm run e2e:installed:no-build
+```
+
+It is also possible to build these tests along with all its dependencies into an executable that can
+be run on any computer that has the app installed. The command for building the test executable is:
+```
+npm run build-test-executable
+```
+The executable for all platforms are outputted to `/dist/`.
+
+The build is configured in `standalone-tests.ts`
+
+The artifact can be run by either calling without arguments or with specific tests. A lot of the
+tests are depending on the daemon already being in a specific state and will fail if it's not.
+```
+./mullvadvpn-app-e2e-tests-linux state-dependent/location.spec
+```
+
+
+## Other READMEs
+- [scripts/README.md](scripts/README.md)
+- [locales/README.md](locales/README.md)
+- [assets/images/menubar icons/README.md](assets/images/menubar%20icons/README.md)