Skip to content

Commit 2a35623

Browse files
author
Stuart Fraser
committed
Add end-to-end tests for VanDaemon application using Playwright
- Implemented ControlsPageTests for device control management - Implemented DashboardTests for main interactive dashboard - Implemented TanksPageTests for tank monitoring and management - Created PlaywrightTestBase for shared test setup and teardown - Added TestConfiguration for environment-based settings - Included .gitignore for test artifacts - Updated README with setup instructions and test structure - Configured project file for .NET 10 and necessary dependencies
1 parent 60a3eab commit 2a35623

42 files changed

Lines changed: 5214 additions & 56 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.claude/settings.local.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,13 @@
2828
"Bash(where:*)",
2929
"Bash($null)",
3030
"Bash(python:*)",
31-
"Bash(csc:*)"
31+
"Bash(csc:*)",
32+
"Bash(tree:*)",
33+
"Bash(mkdir:*)",
34+
"Bash(pwsh:*)",
35+
"Bash(del run-e2e-tests.sh)",
36+
"Bash(Select-String -Pattern \"error|warning CS86|Build succeeded|Build FAILED\")",
37+
"Bash(Select-Object -Last 10)"
3238
],
3339
"deny": [],
3440
"ask": []

CLAUDE.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -357,3 +357,4 @@ await _hubContext.Clients.Group("tanks").SendAsync(
357357
- **Async Naming:** All async methods end with `Async` suffix
358358
- **Null Handling:** Nullable reference types enabled (`<Nullable>enable</Nullable>`) - use `?` appropriately
359359
- **Configuration Dictionaries:** Use `Dictionary<string, object>` for plugin configuration (JSON-serializable types only)
360+
- there is a subproject in this repository in hw\LEDDimmer which is an electronic circuit based on an esp32

VanDaemon.sln

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "VanDaemon.Plugins", "VanDae
4343
EndProject
4444
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VanDaemon.Plugins.Modbus.Tests", "tests\VanDaemon.Plugins.Modbus.Tests\VanDaemon.Plugins.Modbus.Tests.csproj", "{95F4E6A9-4808-40A1-9D7E-874AD69EF0B3}"
4545
EndProject
46+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VanDaemon.E2E.Tests", "tests\VanDaemon.E2E.Tests\VanDaemon.E2E.Tests.csproj", "{3A69562F-259B-4C39-8ECA-1B2F57A06188}"
47+
EndProject
48+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VanDaemon.Plugins.MqttLedDimmer", "src\Backend\VanDaemon.Plugins\VanDaemon.Plugins.MqttLedDimmer\VanDaemon.Plugins.MqttLedDimmer.csproj", "{32F36E01-15E6-42F2-9639-511319AE1A23}"
49+
EndProject
4650
Global
4751
GlobalSection(SolutionConfigurationPlatforms) = preSolution
4852
Debug|Any CPU = Debug|Any CPU
@@ -221,6 +225,30 @@ Global
221225
{95F4E6A9-4808-40A1-9D7E-874AD69EF0B3}.Release|x64.Build.0 = Release|Any CPU
222226
{95F4E6A9-4808-40A1-9D7E-874AD69EF0B3}.Release|x86.ActiveCfg = Release|Any CPU
223227
{95F4E6A9-4808-40A1-9D7E-874AD69EF0B3}.Release|x86.Build.0 = Release|Any CPU
228+
{3A69562F-259B-4C39-8ECA-1B2F57A06188}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
229+
{3A69562F-259B-4C39-8ECA-1B2F57A06188}.Debug|Any CPU.Build.0 = Debug|Any CPU
230+
{3A69562F-259B-4C39-8ECA-1B2F57A06188}.Debug|x64.ActiveCfg = Debug|Any CPU
231+
{3A69562F-259B-4C39-8ECA-1B2F57A06188}.Debug|x64.Build.0 = Debug|Any CPU
232+
{3A69562F-259B-4C39-8ECA-1B2F57A06188}.Debug|x86.ActiveCfg = Debug|Any CPU
233+
{3A69562F-259B-4C39-8ECA-1B2F57A06188}.Debug|x86.Build.0 = Debug|Any CPU
234+
{3A69562F-259B-4C39-8ECA-1B2F57A06188}.Release|Any CPU.ActiveCfg = Release|Any CPU
235+
{3A69562F-259B-4C39-8ECA-1B2F57A06188}.Release|Any CPU.Build.0 = Release|Any CPU
236+
{3A69562F-259B-4C39-8ECA-1B2F57A06188}.Release|x64.ActiveCfg = Release|Any CPU
237+
{3A69562F-259B-4C39-8ECA-1B2F57A06188}.Release|x64.Build.0 = Release|Any CPU
238+
{3A69562F-259B-4C39-8ECA-1B2F57A06188}.Release|x86.ActiveCfg = Release|Any CPU
239+
{3A69562F-259B-4C39-8ECA-1B2F57A06188}.Release|x86.Build.0 = Release|Any CPU
240+
{32F36E01-15E6-42F2-9639-511319AE1A23}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
241+
{32F36E01-15E6-42F2-9639-511319AE1A23}.Debug|Any CPU.Build.0 = Debug|Any CPU
242+
{32F36E01-15E6-42F2-9639-511319AE1A23}.Debug|x64.ActiveCfg = Debug|Any CPU
243+
{32F36E01-15E6-42F2-9639-511319AE1A23}.Debug|x64.Build.0 = Debug|Any CPU
244+
{32F36E01-15E6-42F2-9639-511319AE1A23}.Debug|x86.ActiveCfg = Debug|Any CPU
245+
{32F36E01-15E6-42F2-9639-511319AE1A23}.Debug|x86.Build.0 = Debug|Any CPU
246+
{32F36E01-15E6-42F2-9639-511319AE1A23}.Release|Any CPU.ActiveCfg = Release|Any CPU
247+
{32F36E01-15E6-42F2-9639-511319AE1A23}.Release|Any CPU.Build.0 = Release|Any CPU
248+
{32F36E01-15E6-42F2-9639-511319AE1A23}.Release|x64.ActiveCfg = Release|Any CPU
249+
{32F36E01-15E6-42F2-9639-511319AE1A23}.Release|x64.Build.0 = Release|Any CPU
250+
{32F36E01-15E6-42F2-9639-511319AE1A23}.Release|x86.ActiveCfg = Release|Any CPU
251+
{32F36E01-15E6-42F2-9639-511319AE1A23}.Release|x86.Build.0 = Release|Any CPU
224252
EndGlobalSection
225253
GlobalSection(SolutionProperties) = preSolution
226254
HideSolutionNode = FALSE
@@ -244,5 +272,7 @@ Global
244272
{7E8F9A0B-1C2D-3E4F-5A6B-7C8D9E0F1A2B} = {4D5E6F7A-8B9C-0D1E-2F3A-4B5C6D7E8F9A}
245273
{DC61CA48-8647-750D-31B3-056AB3BA5854} = {1A2B3C4D-5E6F-7A8B-9C0D-1E2F3A4B5C6D}
246274
{95F4E6A9-4808-40A1-9D7E-874AD69EF0B3} = {4D5E6F7A-8B9C-0D1E-2F3A-4B5C6D7E8F9A}
275+
{3A69562F-259B-4C39-8ECA-1B2F57A06188} = {4D5E6F7A-8B9C-0D1E-2F3A-4B5C6D7E8F9A}
276+
{32F36E01-15E6-42F2-9639-511319AE1A23} = {DC61CA48-8647-750D-31B3-056AB3BA5854}
247277
EndGlobalSection
248278
EndGlobal

docker/docker-compose.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,26 @@ services:
3131
networks:
3232
- vandaemon
3333

34+
mqtt:
35+
image: eclipse-mosquitto:2.0
36+
container_name: vandaemon-mqtt
37+
ports:
38+
- "1883:1883" # MQTT
39+
- "9001:9001" # WebSocket
40+
volumes:
41+
- ./mosquitto/config:/mosquitto/config
42+
- mqtt-data:/mosquitto/data
43+
- mqtt-logs:/mosquitto/log
44+
restart: unless-stopped
45+
networks:
46+
- vandaemon
47+
command: mosquitto -c /mosquitto/config/mosquitto.conf
48+
3449
volumes:
3550
api-data:
3651
api-logs:
52+
mqtt-data:
53+
mqtt-logs:
3754

3855
networks:
3956
vandaemon:

0 commit comments

Comments
 (0)