Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
f3e237e
add loading and screenshot testing of pphn
mariusheine Jan 13, 2026
ca4352e
fix flakiness in e2e test due to multiple loading of svg catalog and …
mariusheine Jan 13, 2026
1a37bdc
add siteplan e2e test to quality workflow
mariusheine Jan 13, 2026
0b16f0c
remove retries in pipeline
mariusheine Jan 13, 2026
2fe0d28
increase timeout due to slower pipeline runner
mariusheine Jan 13, 2026
74af149
improve quality workflow
mariusheine Jan 13, 2026
e1a6fb4
add total view test
mariusheine Jan 14, 2026
0a3e29a
blur control buttons on click
mariusheine Jan 14, 2026
daba50c
keep video and traces locally
mariusheine Jan 14, 2026
75f5118
try to use UTF-8 character directly
mariusheine Jan 14, 2026
b4d076b
more stable initial loading of app
mariusheine Jan 14, 2026
0f73f9c
revert unnecessary change
mariusheine Jan 28, 2026
683c37a
do more consistent transforming
mariusheine Jan 28, 2026
9f9d600
mask control buttons that are different in github ci
mariusheine Jan 28, 2026
45545d6
Merge remote-tracking branch 'origin/main' into siteplan-e2e-testing
mariusheine Jan 28, 2026
faeeab1
Merge remote-tracking branch 'origin/main' into siteplan-e2e-testing
mariusheine Feb 4, 2026
7895c37
move test in own workflow
mariusheine Feb 4, 2026
6c9b87a
use production build of lageplan in CI
mariusheine Feb 4, 2026
33fcd65
run test on all branches
mariusheine Feb 4, 2026
d0d51fb
Merge remote-tracking branch 'origin/main' into siteplan-e2e-testing
mariusheine Mar 3, 2026
1a9bb4e
fix test pipeline trigger
mariusheine Mar 3, 2026
bfc9bff
fix trigger
mariusheine Mar 3, 2026
29f4222
Merge remote-tracking branch 'origin/main' into siteplan-e2e-testing
mariusheine Mar 3, 2026
04acf59
fix test trigger condition
mariusheine Mar 3, 2026
73d1d63
fix workflow trigger
mariusheine Mar 3, 2026
a49ba56
try to use repository_dispatch
mariusheine Mar 3, 2026
7884173
try workflow_dispatch
mariusheine Mar 3, 2026
50dcd0b
keep swt bot test in ci workflow for simplicity
mariusheine Mar 3, 2026
b91796f
take newest pphn version
mariusheine Mar 3, 2026
f1ab903
increase timeout for initial loading of siteplan
mariusheine Mar 3, 2026
b2f1fef
increase timeout even more
mariusheine Mar 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -286,15 +286,15 @@ jobs:
uses: eclipse-set/build/.github/actions/setup-java@main

- name: Fetch SET
uses: actions/download-artifact@v8
uses: actions/download-artifact@v7
with:
name: eclipse-set-snapshot-${{github.run_number}}
path: ${{ env.TEST_APPLICATION_DIR }}

- name: Fetch m2 Deploy
# For main or tag build, the m2 packages can be taken directly from github m2package
if: github.ref != 'refs/heads/main' && !startsWith(github.ref, 'refs/tags/')
uses: actions/download-artifact@v8
uses: actions/download-artifact@v7
with:
name: set-m2deploy-${{github.run_number}}
path: ${{ env.DEPLOY_DIR }}
Expand Down Expand Up @@ -330,7 +330,7 @@ jobs:

- name: Upload csv files
if: failure() && steps.test-steps.outcome == 'failure'
uses: actions/upload-artifact@v7
uses: actions/upload-artifact@v6
with:
name: table-csv-${{github.run_number}}
path: ${{ github.workspace}}/java/bundles/org.eclipse.set.swtbot/target/classes/diff/**/*.csv
Expand Down Expand Up @@ -359,7 +359,7 @@ jobs:

- name: Fetch table csv
if: needs.swtbot.result == 'failure'
uses: actions/download-artifact@v8
uses: actions/download-artifact@v7
with:
name: table-csv-${{github.run_number}}
path: ${{ env.DIFF_DIR }}
Expand All @@ -375,7 +375,7 @@ jobs:

- name: Upload Diff-File
if: needs.swtbot.result == 'failure'
uses: actions/upload-artifact@v7
uses: actions/upload-artifact@v6
with:
name: table-diff-files-${{github.run_number}}
path: ${{ env.DIFF_DIR }}/diff-md
Expand Down
6 changes: 4 additions & 2 deletions .github/workflows/quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,12 @@ jobs:
node-version: 20

- name: Install dependencies
run: cd web/siteplan && npm install
run: npm ci
working-directory: web/siteplan

- name: Eslint
run: cd web/siteplan && npm run lint
run: npm run lint
working-directory: web/siteplan

lint-textviewer:
runs-on: ubuntu-latest
Expand Down
44 changes: 44 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# This workflow will build the main SET application and publish it to GitHub Packages
name: Test

on:
pull_request:
paths:
- '**/java/**'
- 'web/siteplan/**'
- 'web/textviewer/**'
push:
tags:
- 'v**'
branches:
- 'release/**'
- 'main'

jobs:
test-siteplan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6

- uses: actions/setup-node@v6
with:
node-version: 20

- name: Install dependencies
run: npm ci
working-directory: web/siteplan

- name: Install Playwright Browsers
run: npm exec playwright install --with-deps
working-directory: web/siteplan

- name: Run Playwright tests
run: npm run test:e2e
working-directory: web/siteplan

- uses: actions/upload-artifact@v6
if: ${{ !cancelled() }}
with:
name: playwright-report
path: web/siteplan/playwright-report/
retention-days: 1
10 changes: 9 additions & 1 deletion web/siteplan/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,12 @@ dist/
public/siteplan.json
public/font
.vscode
.env
.env

# Playwright
node_modules/
/test-results/
/playwright-report/
/blob-report/
/playwright/.cache/
/playwright/.auth/
85 changes: 85 additions & 0 deletions web/siteplan/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 3 additions & 1 deletion web/siteplan/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@
"serve": "vite --port 8080",
"build": "vite build --mode development",
"build-prod": "vite build --mode production",
"lint": "eslint src"
"lint": "eslint src",
"test:e2e": "playwright test"
},
"dependencies": {
"@turf/boolean-disjoint": "^7.3.3",
Expand All @@ -26,6 +27,7 @@
"vuex": "^4.1.0"
},
"devDependencies": {
"@playwright/test": "^1.57.0",
"@stylistic/eslint-plugin": "5.7.0",
"@types/geojson": "^7946.0.15",
"@typescript-eslint/eslint-plugin": "^8.53.0",
Expand Down
40 changes: 40 additions & 0 deletions web/siteplan/playwright.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
import { defineConfig, devices } from '@playwright/test'

/**
* See https://playwright.dev/docs/test-configuration.
*/
export default defineConfig({
testDir: './tests',
/* Run tests in files in parallel */
fullyParallel: true,
/* Fail the build on CI if you accidentally left test.only in the source code. */
forbidOnly: !!process.env.CI,
/* Opt out of parallel tests on CI. */
workers: process.env.CI ? 1 : undefined,
/* Reporter to use. See https://playwright.dev/docs/test-reporters */
reporter: 'html',

use: {
/* Base URL to use in actions like `await page.goto('')`. */
baseURL: 'http://localhost:8080',

trace: process.env.CI ? 'retain-on-failure' : 'on',
video: process.env.CI ? 'retain-on-failure' : 'on'
},

/* Configure projects for major browsers */
projects: [
{
name: 'chromium',
use: { ...devices['Desktop Chrome'] }
}
],

/* In CI use production build otherwise running
local dev server before starting the tests */
webServer: {
command: process.env.CI ? 'npm run build-prod && npm exec vite preview -- --port 8080' : 'npm run serve',
url: 'http://localhost:8080',
reuseExistingServer: !process.env.CI
}
})
7 changes: 3 additions & 4 deletions web/siteplan/public/main.css
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,16 @@

.rotate-control-container {
top: 1.25em;
transform: scaleY(2);
}

.rotate-control-button {
font-size: 2.3em;
width: 0.65em;
transform: scaleY(-2);
transform: scaleY(-1);
}

.rotate-control-container.rotate-control-right {
left: 3.9em;
transform: scaleX(-1);
transform: scaleY(2) scaleX(-1);
}

.rotate-control-container.rotate-control-left {
Expand Down
1 change: 1 addition & 0 deletions web/siteplan/src/util/Controls/CenterMainRouteControl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ export default class CenterMainRouteControl extends Control {
this.view = view
button.addEventListener('click', () => {
this.centerView()
button.blur()
}, false)
}

Expand Down
1 change: 1 addition & 0 deletions web/siteplan/src/util/Controls/ExtentControl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ export default class ExtentControl extends Control {
this.view.set(ExtentControl.EXTENT_CONTROL_KEY, this)
button.addEventListener('click', () => {
this.fit()
button.blur()
}, false)
}

Expand Down
1 change: 1 addition & 0 deletions web/siteplan/src/util/Controls/RotateViewControl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ export default class RotateViewControl extends Control {
this.view = view
button.addEventListener('click', () => {
this.onClick()
button.blur()
}, false)
}

Expand Down
Loading
Loading