91 lines
2.5 KiB
JSON
91 lines
2.5 KiB
JSON
{
|
|
"baseUrl": "http://localhost:3000",
|
|
"viewports": {
|
|
"mobile": {"width": 375, "height": 812},
|
|
"tablet": {"width": 768, "height": 1024},
|
|
"desktop": {"width": 1440, "height": 900}
|
|
},
|
|
"routes": [
|
|
{
|
|
"path": "/",
|
|
"name": "landing",
|
|
"selectors": [
|
|
"[data-testid=create-room-cta]",
|
|
"[data-testid=join-room-cta]",
|
|
"[data-testid=mode-card-skribbl]",
|
|
"[data-testid=mode-card-gartic]",
|
|
"[data-testid=mode-card-color]"
|
|
],
|
|
"actions": []
|
|
},
|
|
{
|
|
"path": "/create",
|
|
"name": "create-room",
|
|
"selectors": [
|
|
"[data-testid=nickname-input]",
|
|
"[data-testid=mode-skribbl]",
|
|
"[data-testid=mode-gartic]",
|
|
"[data-testid=mode-color]",
|
|
"[data-testid=create-submit]"
|
|
],
|
|
"actions": [
|
|
{"type": "fill", "selector": "[data-testid=nickname-input]", "value": "TestUser"},
|
|
{"type": "click", "selector": "[data-testid=mode-skribbl]"}
|
|
]
|
|
},
|
|
{
|
|
"path": "/join",
|
|
"name": "join-room",
|
|
"selectors": [
|
|
"[data-testid=room-code-input]",
|
|
"[data-testid=nickname-input]",
|
|
"[data-testid=join-submit]"
|
|
],
|
|
"actions": [
|
|
{"type": "fill", "selector": "[data-testid=room-code-input]", "value": "ABC123"},
|
|
{"type": "fill", "selector": "[data-testid=nickname-input]", "value": "Tester"}
|
|
]
|
|
},
|
|
{
|
|
"path": "/room/TESTRM",
|
|
"name": "lobby",
|
|
"selectors": [
|
|
"[data-testid=room-pill]",
|
|
"[data-testid=panel-players]",
|
|
"[data-testid=room-code]"
|
|
],
|
|
"actions": [],
|
|
"note": "Will redirect to /join?code=TESTRM unless a session exists. Test with a real created room."
|
|
},
|
|
{
|
|
"path": "/room/TESTRM/play",
|
|
"name": "play",
|
|
"selectors": [
|
|
"[data-testid=room-pill]"
|
|
],
|
|
"actions": [],
|
|
"note": "Requires an active game session."
|
|
},
|
|
{
|
|
"path": "/room/TESTRM/results",
|
|
"name": "results",
|
|
"selectors": [
|
|
"[data-testid=scoreboard-final]"
|
|
],
|
|
"actions": [],
|
|
"note": "Visible after a Skribbl/Color game finishes."
|
|
},
|
|
{
|
|
"path": "/api/health",
|
|
"name": "health-api",
|
|
"selectors": [],
|
|
"actions": [],
|
|
"note": "GET expects {status:'ok', uptime:N}"
|
|
}
|
|
],
|
|
"apiTests": [
|
|
{"method": "GET", "path": "/api/health", "expectStatus": 200, "expectJsonContains": {"status": "ok"}},
|
|
{"method": "GET", "path": "/api/room/NOPE/exists", "expectStatus": 200, "expectJsonContains": {"exists": false}}
|
|
]
|
|
}
|