Skip to content

Commit

Permalink
feat!: replace Testbench tests with Playwright Java & TS
Browse files Browse the repository at this point in the history
  • Loading branch information
manolo committed May 28, 2024
1 parent 3518116 commit 4f225f6
Show file tree
Hide file tree
Showing 11 changed files with 648 additions and 258 deletions.
45 changes: 23 additions & 22 deletions .github/workflows/validate.yml
Original file line number Diff line number Diff line change
@@ -1,49 +1,50 @@
name: Verify
on:
push:
branches: [v24]
workflow_dispatch:
pull_request:
permissions:
contents: read
concurrency:
group: ${{ github.head_ref || github.ref_name }}
cancel-in-progress: true
jobs:
verify:
timeout-minutes: 60
runs-on: ubuntu-latest
permissions:
# for EnricoMi/publish-unit-test-result-action
issues: read
checks: write
pull-requests: write
pull-requests: write
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '18'
- uses: actions/setup-java@v3
node-version: 'lts/*'
- uses: actions/setup-java@v4
with:
java-version: '17'
java-version: '21'
distribution: 'temurin'
- name: Set TB License
run: |
TBL=${{ secrets.TB_LICENSE }}
[ -z "$TBL" ] && echo "No TB license provided" && exit 1
mkdir -p ~/.vaadin/
echo '{"username":"'`echo $TBL | cut -d / -f1`'","proKey":"'`echo $TBL | cut -d / -f2`'"}' > ~/.vaadin/proKey
- uses: actions/cache@v3
- uses: actions/cache@v4
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-maven-
- uses: browser-actions/setup-chrome@latest
with:
chrome-version: stable
- uses: nanasess/setup-chromedriver@master
- name: Install browsers
run: |
npm install --ci
npx playwright install chromium --with-deps
npx playwright install-deps
- name: Verify
run: |
mvn -B -V -ntp verify -Dcom.vaadin.testbench.Parameters.headless -Pit,production
./mvnw -B -V -ntp verify -Pit,production
- uses: actions/upload-artifact@v4
with:
name: tests-report
path: target/**-reports
retention-days: 30
- name: Publish Test Results
uses: EnricoMi/publish-unit-test-result-action@v1
with:
files: "**/target/*-reports/TEST*.xml"
check_run_annotations: all tests, skipped tests
check_run_annotations_branch: v24
files: "target/*-reports/TEST*.xml"
25 changes: 23 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,30 @@
# Flow-Hilla Hybrid Example

This project demonstrates how to use [Vaadin Flow](https://vaadin.com/flow) and [Hilla](https://hilla.dev) together in a single app.
This project demonstrates how to use [Vaadin Flow](https://vaadin.com/flow) and [Hilla](https://hilla.dev) together in a single app.

[Hilla](https://hilla.dev/docs/react) is a framework by Vaadin for building reactive web applications on Java backends. It seamlessly integrates a [React](https://reactjs.org/) TypeScript frontend with a [Spring Boot](https://spring.io/projects/spring-boot) backend.


## Running the Application
There are two ways to run the application : using `mvn spring-boot:run` or by running the `Application` class directly from your IDE.
There are two ways to run the application : using `mvn` or by running the `Application` class directly from your IDE.


## Running Tests
You can run both: Flow and Hilla tests by executing:

```
mvn verify -Pit,production
```

For running tests in headed mode run:

```
mvn verify -Pit,production -Dheadless=false
```


If you prefer run only Hilla tests, just execute:

```
npm test
```
Loading

0 comments on commit 4f225f6

Please sign in to comment.