diff --git a/.github/workflows/default.yml b/.github/workflows/default.yml index 8c59af0e6..00e9358b1 100644 --- a/.github/workflows/default.yml +++ b/.github/workflows/default.yml @@ -143,7 +143,7 @@ jobs: integration: name: Integration runs-on: ubuntu-latest - if: ${{ github.event_name == 'push' }} + if: ${{ github.event_name == 'push' || github.event_name == 'pull_request' }} steps: - uses: actions/checkout@v3 diff --git a/README.md b/README.md index 9b9ba266b..6086dfd92 100644 --- a/README.md +++ b/README.md @@ -54,6 +54,8 @@ make ./evcc ``` +### UI development + For frontend development start the Vue toolchain in dev-mode. Open http://127.0.0.1:7071/ to get to the livelreloading development server. It pulls its data from port 7070 (see above). ```sh @@ -61,6 +63,15 @@ npm install npm run start ``` +### Integration tests + +We use Playwright for end-to-end integration tests. They start a local evcc instance with different configuration yamls and prefilled databases. To run them, you have to do a local build first. + +```sh +make ui build +npm run playwright +``` + ### Code formatting We use linters (golangci-lint, Prettier) to keep a coherent source code formatting. It's recommended to use the format-on-save feature of your editor. For VSCode use the [Go](https://marketplace.visualstudio.com/items?itemName=golang.Go), [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) and [Veture](https://marketplace.visualstudio.com/items?itemName=octref.vetur) extension. You can manually reformat your code by running: diff --git a/assets/js/components/TopNavigation.vue b/assets/js/components/TopNavigation.vue index be1b8cebb..53e6aa8e9 100644 --- a/assets/js/components/TopNavigation.vue +++ b/assets/js/components/TopNavigation.vue @@ -6,6 +6,7 @@ data-bs-toggle="dropdown" aria-expanded="false" class="btn btn-sm btn-outline-secondary position-relative border-0 menu-button" + data-testid="topnavigation-button" > -