2 lines
75 KiB
JSON
2 lines
75 KiB
JSON
{"name":"Savy API Test Report","logo":null,"date":1768299461607,"dateH":"1/13/2026, 5:17:41 PM","duration":4227,"durationH":"4.2s","timezone":-7,"timezoneOffset":0,"locale":null,"cwd":"/Users/nuralan/skyrain/savy/playwright","outputFile":"/Users/nuralan/skyrain/savy/playwright/monocart-report/index.html","outputDir":"/Users/nuralan/skyrain/savy/playwright/monocart-report","metadata":{"actualWorkers":1},"system":{"cpu":{"color":"#117DBB","count":8,"model":"Apple M1","speed":2400},"mem":{"color":"#8B12AE","total":8589934592},"arch":"arm64","platform":"darwin","release":"25.1.0","type":"Darwin","version":"Darwin Kernel Version 25.1.0: Mon Oct 20 19:32:47 PDT 2025; root:xnu-12377.41.6~2/RELEASE_ARM64_T8103","uptime":2918085,"hostname":"192.168.99.105","pid":76784,"node":"22.18.0","v8":"12.4.254.21-node.27","timestampStart":1768299461607,"ticks":[{"cpu":{"percent":16.58},"mem":{"free":170377216},"timestamp":1768299462608},{"cpu":{"percent":19.8},"mem":{"free":124157952},"timestamp":1768299464610},{"cpu":{"percent":17.09},"mem":{"free":75808768},"timestamp":1768299465834}],"workers":1,"jobs":[{"caseId":"382fde42d0bb50d3ed52","parallelIndex":0,"workerIndex":0,"timestamp":1768299461974,"duration":258},{"caseId":"d6efc586d91d1299405d","parallelIndex":0,"workerIndex":0,"timestamp":1768299462235,"duration":62},{"caseId":"f82a46626b4babb900fe","parallelIndex":0,"workerIndex":0,"timestamp":1768299462298,"duration":72},{"caseId":"66d985cfdeadefb7ddc4","parallelIndex":0,"workerIndex":0,"timestamp":1768299462371,"duration":91},{"caseId":"e1495246d4d6dff02047","parallelIndex":0,"workerIndex":0,"timestamp":1768299462469,"duration":103},{"caseId":"684e826b3fe90595fac6","parallelIndex":0,"workerIndex":0,"timestamp":1768299462573,"duration":78},{"caseId":"8a17c0e22a9dee41c290","parallelIndex":0,"workerIndex":0,"timestamp":1768299462652,"duration":64},{"caseId":"d12f70250e85942d044a","parallelIndex":0,"workerIndex":0,"timestamp":1768299462717,"duration":87},{"caseId":"eaa3e641a5c80939475f","parallelIndex":0,"workerIndex":0,"timestamp":1768299462806,"duration":63},{"caseId":"b91cd39fa7982ed85bca","parallelIndex":0,"workerIndex":0,"timestamp":1768299462870,"duration":71},{"caseId":"f94beee4da9a3f4e28ab","parallelIndex":0,"workerIndex":0,"timestamp":1768299462941,"duration":65},{"caseId":"da911117638a18b78656","parallelIndex":0,"workerIndex":0,"timestamp":1768299463007,"duration":60},{"caseId":"cd91623c43621ada4ad3","parallelIndex":0,"workerIndex":0,"timestamp":1768299463068,"duration":59},{"caseId":"d721efdde91cf0029d36","parallelIndex":0,"workerIndex":0,"timestamp":1768299463128,"duration":54},{"caseId":"337b01fb6409677a6077","parallelIndex":0,"workerIndex":0,"timestamp":1768299463183,"duration":116},{"caseId":"46f31440ee5942e8295d","parallelIndex":0,"workerIndex":1,"timestamp":1768299463657,"duration":173},{"caseId":"19eb170dd569cd788304","parallelIndex":0,"workerIndex":1,"timestamp":1768299463833,"duration":90},{"caseId":"de038ae7a3e9522a5666","parallelIndex":0,"workerIndex":2,"timestamp":1768299464291,"duration":179},{"caseId":"50659f71d91abeb8af18","parallelIndex":0,"workerIndex":2,"timestamp":1768299464470,"duration":98},{"caseId":"c147dab815a14eb8d5d8","parallelIndex":0,"workerIndex":3,"timestamp":1768299464923,"duration":223},{"caseId":"4eef833e4bdce4410e38","parallelIndex":0,"workerIndex":3,"timestamp":1768299465150,"duration":96},{"caseId":"76215751f0f3967e7490","parallelIndex":0,"workerIndex":4,"timestamp":1768299465596,"duration":188}],"cwd":"/Users/nuralan/skyrain/savy/playwright","configFile":"playwright.config.ts","playwright":"1.57.0","monocart":"2.9.23","testDir":"tests","outputFile":"monocart-report/index.html","outputDir":"monocart-report","timestampEnd":1768299465834},"artifacts":[],"trends":[],"columns":[{"id":"caseType","name":"","width":36,"sortable":false,"align":"center","formatter":"iconCaseType","detailed":false},{"id":"title","name":"Title","searchable":true,"width":350,"maxWidth":1230,"detailed":false},{"id":"type","name":"Type","width":50,"sortable":false,"align":"center","formatter":"iconType","detailed":false},{"id":"duration","name":"Duration","align":"right","sortAsc":false,"formatter":"duration","detailed":false},{"id":"errors","name":"Errors","width":60,"align":"center","comparer":"errors","formatter":"errors","detailed":false},{"id":"logs","name":"Logs","width":60,"align":"center","comparer":"logs","formatter":"logs","detailed":false},{"id":"annotations","name":"Annotations","width":100,"markdown":true,"searchable":true,"comparer":"annotations","formatter":"annotations","detailed":false},{"id":"attachments","name":"Attachments","width":100,"align":"center","formatter":"attachments","detailed":false},{"id":"status","name":"Status","align":"center","detailed":false},{"id":"expectedStatus","name":"Expected","align":"center","detailed":false},{"id":"outcome","name":"Outcome","align":"center","width":85,"detailed":false},{"id":"retry","name":"Retry","align":"center","width":50,"detailed":false},{"id":"location","name":"Location","classMap":"mcr-location","width":200,"maxWidth":1981,"detailed":false}],"rows":[{"id":"acb943ac7d07d80a71fa","title":"firefox","type":"suite","suiteType":"project","caseNum":22,"subs":[{"id":"c949ea0e13cbd87ad9ad","title":"api-command.spec.ts","type":"suite","suiteType":"file","caseNum":22,"subs":[{"id":"dcba24ef684ee99bd49e","title":"Device Command & Status Tests","type":"suite","suiteType":"describe","caseNum":22,"subs":[{"id":"c53b5233ff376be0d746","title":"1. Command API Tests","type":"suite","suiteType":"describe","caseNum":11,"subs":[{"id":"382fde42d0bb50d3ed52","title":"POST Command: BL (S) - L29_E - LV","type":"case","caseType":"passed","ok":true,"outcome":"expected","expectedStatus":"passed","location":"tests/api-command.spec.ts:135:13","logs":["[Command] Request: {\n \"merchantName\": \"SAVY\",\n \"floorName\": \"L29\",\n \"unitNumber\": \"E\",\n \"deviceName\": \"BL\",\n \"roomName\": \"LV\",\n \"deviceType\": \"S\",\n \"commandType\": \"C\",\n \"towerNumber\": \"T2\",\n \"payload\": {\n \"action\": \"Open\"\n }\n}\n","[Command] Response Status: 200\n","[Command] Response Body: {\n \"status\": \"success\",\n \"message\": \"Command accepted\",\n \"receivedAt\": \"2026-01-13T10:17:42.289Z\"\n}\n","---\n"],"timestamps":[1768299461974,1768299462232],"duration":258,"tags":[],"timeout":30000,"retry":0,"status":"passed","stepNum":7,"stepFailed":0,"stepSubs":true,"subs":[{"id":"oh97k400pjfwdtjd8ne1","title":"Before Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:41.979Z","annotations":[],"duration":12,"location":"","subs":[{"id":"xm9pdp5tupz0dwal8ncf","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:41.987Z","annotations":[],"duration":4,"location":"","subs":[{"id":"7q0ghvuw458odcxsd1i1","title":"Create request context","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:41.989Z","annotations":[],"duration":2,"location":""}]}]},{"id":"cslbfu1o82quial578i8","title":"POST \"/device/v1/command\"","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:41.994Z","annotations":[],"duration":224,"location":"tests/api-command.spec.ts:140:42"},{"id":"kck4z2qgvc5ekqbmfm1i","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:42.221Z","annotations":[],"duration":1,"location":"tests/api-command.spec.ts:156:37"},{"id":"hlvpwg4fam7qlzc5cack","title":"After Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:42.222Z","annotations":[],"duration":9,"location":"","subs":[{"id":"05nnl27pvd7g1k0q9py1","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:42.223Z","annotations":[],"duration":2,"location":""}]}]},{"id":"d6efc586d91d1299405d","title":"POST Command: BL (S) - L29_E - MS","type":"case","caseType":"passed","ok":true,"outcome":"expected","expectedStatus":"passed","location":"tests/api-command.spec.ts:135:13","logs":["[Command] Request: {\n \"merchantName\": \"SAVY\",\n \"floorName\": \"L29\",\n \"unitNumber\": \"E\",\n \"deviceName\": \"BL\",\n \"roomName\": \"MS\",\n \"deviceType\": \"S\",\n \"commandType\": \"C\",\n \"towerNumber\": \"T2\",\n \"payload\": {\n \"action\": \"Open\"\n }\n}\n","[Command] Response Status: 200\n","[Command] Response Body: {\n \"status\": \"success\",\n \"message\": \"Command accepted\",\n \"receivedAt\": \"2026-01-13T10:17:42.383Z\"\n}\n","---\n"],"timestamps":[1768299462235,1768299462297],"duration":62,"tags":[],"timeout":30000,"retry":0,"status":"passed","stepNum":7,"stepFailed":0,"stepSubs":true,"subs":[{"id":"yx3svivxd2spc014nkm3","title":"Before Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:42.235Z","annotations":[],"duration":8,"location":"","subs":[{"id":"6k87pg3spugfmfbq3cfl","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:42.239Z","annotations":[],"duration":4,"location":"","subs":[{"id":"j5wgrhv74caxmaoe2wxb","title":"Create request context","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:42.239Z","annotations":[],"duration":4,"location":""}]}]},{"id":"1fzmevmn29sl2b7ckksd","title":"POST \"/device/v1/command\"","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:42.244Z","annotations":[],"duration":47,"location":"tests/api-command.spec.ts:140:42"},{"id":"k3562cr273m6i5b5wr17","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:42.292Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:156:37"},{"id":"azyomv443pnd0qug5ox6","title":"After Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:42.292Z","annotations":[],"duration":5,"location":"","subs":[{"id":"shejdgsdmnm8jx36n65d","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:42.293Z","annotations":[],"duration":0,"location":""}]}]},{"id":"f82a46626b4babb900fe","title":"POST Command: AC (S) - L29_E - LV","type":"case","caseType":"passed","ok":true,"outcome":"expected","expectedStatus":"passed","location":"tests/api-command.spec.ts:135:13","logs":["[Command] Request: {\n \"merchantName\": \"SAVY\",\n \"floorName\": \"L29\",\n \"unitNumber\": \"E\",\n \"deviceName\": \"AC\",\n \"roomName\": \"LV\",\n \"deviceType\": \"S\",\n \"commandType\": \"C\",\n \"towerNumber\": \"T2\",\n \"payload\": {\n \"action\": \"On\"\n }\n}\n","[Command] Response Status: 200\n","[Command] Response Body: {\n \"status\": \"success\",\n \"message\": \"Command accepted\",\n \"receivedAt\": \"2026-01-13T10:17:42.459Z\"\n}\n","---\n"],"timestamps":[1768299462298,1768299462370],"duration":72,"tags":[],"timeout":30000,"retry":0,"status":"passed","stepNum":7,"stepFailed":0,"stepSubs":true,"subs":[{"id":"vj2wwl4iuxnzs6493j4v","title":"Before Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:42.299Z","annotations":[],"duration":5,"location":"","subs":[{"id":"1avtuynmvultdu27citn","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:42.303Z","annotations":[],"duration":1,"location":"","subs":[{"id":"yyaxwsf9ylwksy9u7k29","title":"Create request context","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:42.303Z","annotations":[],"duration":1,"location":""}]}]},{"id":"xn8s9ed98lnvmfqphg81","title":"POST \"/device/v1/command\"","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:42.305Z","annotations":[],"duration":61,"location":"tests/api-command.spec.ts:140:42"},{"id":"w88d4wzdtuic46azm3mv","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:42.367Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:156:37"},{"id":"1q1c398ik38410kthhe5","title":"After Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:42.367Z","annotations":[],"duration":3,"location":"","subs":[{"id":"405kwdmecd3h1f2me6ym","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:42.367Z","annotations":[],"duration":1,"location":""}]}]},{"id":"66d985cfdeadefb7ddc4","title":"POST Command: AC (A) - L29_E - LV","type":"case","caseType":"passed","ok":true,"outcome":"expected","expectedStatus":"passed","location":"tests/api-command.spec.ts:135:13","logs":["[Command] Request: {\n \"merchantName\": \"SAVY\",\n \"floorName\": \"L29\",\n \"unitNumber\": \"E\",\n \"deviceName\": \"AC\",\n \"roomName\": \"LV\",\n \"deviceType\": \"A\",\n \"commandType\": \"C\",\n \"towerNumber\": \"T2\",\n \"payload\": {\n \"action\": \"On\"\n }\n}\n","[Command] Response Status: 200\n","[Command] Response Body: {\n \"status\": \"success\",\n \"message\": \"Command accepted\",\n \"receivedAt\": \"2026-01-13T10:17:42.530Z\"\n}\n","---\n"],"timestamps":[1768299462371,1768299462462],"duration":91,"tags":[],"timeout":30000,"retry":0,"status":"passed","stepNum":7,"stepFailed":0,"stepSubs":true,"subs":[{"id":"ujtspsmzkhtlzdchvbrg","title":"Before Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:42.371Z","annotations":[],"duration":3,"location":"","subs":[{"id":"xeh8uzrrs64rnattv4rd","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:42.373Z","annotations":[],"duration":1,"location":"","subs":[{"id":"eqfumvsv1xn9g7ck627p","title":"Create request context","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:42.373Z","annotations":[],"duration":1,"location":""}]}]},{"id":"arhi03gg3bcitsqmue1j","title":"POST \"/device/v1/command\"","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:42.374Z","annotations":[],"duration":81,"location":"tests/api-command.spec.ts:140:42"},{"id":"20n9sqss1u899jbhirxg","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:42.456Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:156:37"},{"id":"11msrkezgkaoesta3l2u","title":"After Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:42.456Z","annotations":[],"duration":6,"location":"","subs":[{"id":"c5inbreltozp1iql10hd","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:42.457Z","annotations":[],"duration":1,"location":""}]}]},{"id":"e1495246d4d6dff02047","title":"POST Command: AC (S) - L29_E - BR1","type":"case","caseType":"passed","ok":true,"outcome":"expected","expectedStatus":"passed","location":"tests/api-command.spec.ts:135:13","logs":["[Command] Request: {\n \"merchantName\": \"SAVY\",\n \"floorName\": \"L29\",\n \"unitNumber\": \"E\",\n \"deviceName\": \"AC\",\n \"roomName\": \"BR1\",\n \"deviceType\": \"S\",\n \"commandType\": \"C\",\n \"towerNumber\": \"T2\",\n \"payload\": {\n \"action\": \"On\"\n }\n}\n","[Command] Response Status: 200\n","[Command] Response Body: {\n \"status\": \"success\",\n \"message\": \"Command accepted\",\n \"receivedAt\": \"2026-01-13T10:17:42.636Z\"\n}\n","---\n"],"timestamps":[1768299462469,1768299462572],"duration":103,"tags":[],"timeout":30000,"retry":0,"status":"passed","stepNum":7,"stepFailed":0,"stepSubs":true,"subs":[{"id":"qi21emh0yk9es4q63eha","title":"Before Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:42.469Z","annotations":[],"duration":4,"location":"","subs":[{"id":"xw2bgcmix5kcvjdbik1n","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:42.472Z","annotations":[],"duration":1,"location":"","subs":[{"id":"szm401boq5icjv994nc0","title":"Create request context","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:42.472Z","annotations":[],"duration":0,"location":""}]}]},{"id":"sj7vfypswfuxr05iqt07","title":"POST \"/device/v1/command\"","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:42.473Z","annotations":[],"duration":94,"location":"tests/api-command.spec.ts:140:42"},{"id":"rok1gtaiy0duv2a1oiul","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:42.568Z","annotations":[],"duration":1,"location":"tests/api-command.spec.ts:156:37"},{"id":"4fr668pb14lyrw9b3prs","title":"After Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:42.569Z","annotations":[],"duration":3,"location":"","subs":[{"id":"eirco9zb4o7nn3fnat1h","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:42.569Z","annotations":[],"duration":1,"location":""}]}]},{"id":"684e826b3fe90595fac6","title":"POST Command: AC (A) - L29_E - BR1","type":"case","caseType":"passed","ok":true,"outcome":"expected","expectedStatus":"passed","location":"tests/api-command.spec.ts:135:13","logs":["[Command] Request: {\n \"merchantName\": \"SAVY\",\n \"floorName\": \"L29\",\n \"unitNumber\": \"E\",\n \"deviceName\": \"AC\",\n \"roomName\": \"BR1\",\n \"deviceType\": \"A\",\n \"commandType\": \"C\",\n \"towerNumber\": \"T2\",\n \"payload\": {\n \"action\": \"On\"\n }\n}\n","[Command] Response Status: 200\n","[Command] Response Body: {\n \"status\": \"success\",\n \"message\": \"Command accepted\",\n \"receivedAt\": \"2026-01-13T10:17:42.718Z\"\n}\n","---\n"],"timestamps":[1768299462573,1768299462651],"duration":78,"tags":[],"timeout":30000,"retry":0,"status":"passed","stepNum":7,"stepFailed":0,"stepSubs":true,"subs":[{"id":"l7rupmbfom5t2t612uv7","title":"Before Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:42.573Z","annotations":[],"duration":6,"location":"","subs":[{"id":"p258ynh4rtg1dnmlxdj8","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:42.575Z","annotations":[],"duration":4,"location":"","subs":[{"id":"g0d56inc4uh9c6tf9fpy","title":"Create request context","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:42.576Z","annotations":[],"duration":3,"location":""}]}]},{"id":"5fyi6gs6pc0pi6vcyzy7","title":"POST \"/device/v1/command\"","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:42.579Z","annotations":[],"duration":66,"location":"tests/api-command.spec.ts:140:42"},{"id":"vtbwiix0jb1hjceahsdf","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:42.647Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:156:37"},{"id":"u6i71gabydvvcj90w43r","title":"After Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:42.647Z","annotations":[],"duration":4,"location":"","subs":[{"id":"8bjfc22d5ccjyp3fe86f","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:42.647Z","annotations":[],"duration":1,"location":""}]}]},{"id":"8a17c0e22a9dee41c290","title":"POST Command: AC (S) - L29_E - BR2","type":"case","caseType":"passed","ok":true,"outcome":"expected","expectedStatus":"passed","location":"tests/api-command.spec.ts:135:13","logs":["[Command] Request: {\n \"merchantName\": \"SAVY\",\n \"floorName\": \"L29\",\n \"unitNumber\": \"E\",\n \"deviceName\": \"AC\",\n \"roomName\": \"BR2\",\n \"deviceType\": \"S\",\n \"commandType\": \"C\",\n \"towerNumber\": \"T2\",\n \"payload\": {\n \"action\": \"On\"\n }\n}\n","[Command] Response Status: 200\n","[Command] Response Body: {\n \"status\": \"success\",\n \"message\": \"Command accepted\",\n \"receivedAt\": \"2026-01-13T10:17:42.799Z\"\n}\n","---\n"],"timestamps":[1768299462652,1768299462716],"duration":64,"tags":[],"timeout":30000,"retry":0,"status":"passed","stepNum":7,"stepFailed":0,"stepSubs":true,"subs":[{"id":"ht2wr6b2gtp1r8zobyyj","title":"Before Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:42.652Z","annotations":[],"duration":4,"location":"","subs":[{"id":"xedx0ktokjla146suvt0","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:42.655Z","annotations":[],"duration":1,"location":"","subs":[{"id":"4nym9cxigp32094lr7qu","title":"Create request context","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:42.655Z","annotations":[],"duration":0,"location":""}]}]},{"id":"qcjeue2b4t3nk1mywotn","title":"POST \"/device/v1/command\"","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:42.656Z","annotations":[],"duration":53,"location":"tests/api-command.spec.ts:140:42"},{"id":"dl2urwmt4z6gzrpwwd3g","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:42.710Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:156:37"},{"id":"c9ky9sdhdutycybyu1fa","title":"After Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:42.710Z","annotations":[],"duration":6,"location":"","subs":[{"id":"tedrbk0l9vfzzgiu9q4r","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:42.711Z","annotations":[],"duration":2,"location":""}]}]},{"id":"d12f70250e85942d044a","title":"POST Command: AC (A) - L29_E - BR2","type":"case","caseType":"passed","ok":true,"outcome":"expected","expectedStatus":"passed","location":"tests/api-command.spec.ts:135:13","logs":["[Command] Request: {\n \"merchantName\": \"SAVY\",\n \"floorName\": \"L29\",\n \"unitNumber\": \"E\",\n \"deviceName\": \"AC\",\n \"roomName\": \"BR2\",\n \"deviceType\": \"A\",\n \"commandType\": \"C\",\n \"towerNumber\": \"T2\",\n \"payload\": {\n \"action\": \"On\"\n }\n}\n","[Command] Response Status: 200\n","[Command] Response Body: {\n \"status\": \"success\",\n \"message\": \"Command accepted\",\n \"receivedAt\": \"2026-01-13T10:17:42.877Z\"\n}\n","---\n"],"timestamps":[1768299462717,1768299462804],"duration":87,"tags":[],"timeout":30000,"retry":0,"status":"passed","stepNum":7,"stepFailed":0,"stepSubs":true,"subs":[{"id":"1zvhff36p7puegebk04f","title":"Before Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:42.717Z","annotations":[],"duration":3,"location":"","subs":[{"id":"c9jzonjdobf6vd0lrjxn","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:42.719Z","annotations":[],"duration":1,"location":"","subs":[{"id":"nplaskwwm5p21oqi7p3f","title":"Create request context","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:42.720Z","annotations":[],"duration":0,"location":""}]}]},{"id":"mvrr6swf3hmzgb2ir43h","title":"POST \"/device/v1/command\"","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:42.721Z","annotations":[],"duration":77,"location":"tests/api-command.spec.ts:140:42"},{"id":"3mxjztyzka9nm5td29tf","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:42.799Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:156:37"},{"id":"975e55umca575kz5l655","title":"After Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:42.799Z","annotations":[],"duration":5,"location":"","subs":[{"id":"jl2dseih4ahx8tdwrm1x","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:42.799Z","annotations":[],"duration":1,"location":""}]}]},{"id":"eaa3e641a5c80939475f","title":"POST Command: AC (S) - L29_E - MS","type":"case","caseType":"passed","ok":true,"outcome":"expected","expectedStatus":"passed","location":"tests/api-command.spec.ts:135:13","logs":["[Command] Request: {\n \"merchantName\": \"SAVY\",\n \"floorName\": \"L29\",\n \"unitNumber\": \"E\",\n \"deviceName\": \"AC\",\n \"roomName\": \"MS\",\n \"deviceType\": \"S\",\n \"commandType\": \"C\",\n \"towerNumber\": \"T2\",\n \"payload\": {\n \"action\": \"On\"\n }\n}\n","[Command] Response Status: 200\n","[Command] Response Body: {\n \"status\": \"success\",\n \"message\": \"Command accepted\",\n \"receivedAt\": \"2026-01-13T10:17:42.955Z\"\n}\n","---\n"],"timestamps":[1768299462806,1768299462869],"duration":63,"tags":[],"timeout":30000,"retry":0,"status":"passed","stepNum":7,"stepFailed":0,"stepSubs":true,"subs":[{"id":"mb6gcp3byxu0bxsv2vxw","title":"Before Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:42.806Z","annotations":[],"duration":5,"location":"","subs":[{"id":"wyyv0rr3qq6omuvi80oc","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:42.809Z","annotations":[],"duration":2,"location":"","subs":[{"id":"kcvsgfaqfs7c4iqfdxt6","title":"Create request context","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:42.809Z","annotations":[],"duration":2,"location":""}]}]},{"id":"xa46ej902frc8r6e9m01","title":"POST \"/device/v1/command\"","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:42.812Z","annotations":[],"duration":50,"location":"tests/api-command.spec.ts:140:42"},{"id":"p3h8y2nf1txekm9kk0ln","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:42.862Z","annotations":[],"duration":1,"location":"tests/api-command.spec.ts:156:37"},{"id":"94nhblqlroyjo05kru24","title":"After Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:42.863Z","annotations":[],"duration":6,"location":"","subs":[{"id":"86vaf6s1pltpfgsixxrn","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:42.863Z","annotations":[],"duration":1,"location":""}]}]},{"id":"b91cd39fa7982ed85bca","title":"POST Command: AC (A) - L29_E - MS","type":"case","caseType":"passed","ok":true,"outcome":"expected","expectedStatus":"passed","location":"tests/api-command.spec.ts:135:13","logs":["[Command] Request: {\n \"merchantName\": \"SAVY\",\n \"floorName\": \"L29\",\n \"unitNumber\": \"E\",\n \"deviceName\": \"AC\",\n \"roomName\": \"MS\",\n \"deviceType\": \"A\",\n \"commandType\": \"C\",\n \"towerNumber\": \"T2\",\n \"payload\": {\n \"action\": \"On\"\n }\n}\n","[Command] Response Status: 200\n","[Command] Response Body: {\n \"status\": \"success\",\n \"message\": \"Command accepted\",\n \"receivedAt\": \"2026-01-13T10:17:43.029Z\"\n}\n","---\n"],"timestamps":[1768299462870,1768299462941],"duration":71,"tags":[],"timeout":30000,"retry":0,"status":"passed","stepNum":7,"stepFailed":0,"stepSubs":true,"subs":[{"id":"l3vnk9pfxslstgwzzjcl","title":"Before Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:42.870Z","annotations":[],"duration":4,"location":"","subs":[{"id":"mdjnt1nli3n5fp1ksont","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:42.873Z","annotations":[],"duration":1,"location":"","subs":[{"id":"rs55uq6r3p78mhzmy1c4","title":"Create request context","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:42.873Z","annotations":[],"duration":1,"location":""}]}]},{"id":"6ntdw4yqzkrhr7h7ywc4","title":"POST \"/device/v1/command\"","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:42.875Z","annotations":[],"duration":60,"location":"tests/api-command.spec.ts:140:42"},{"id":"7gajlj37cii0gs1cw8pn","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:42.936Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:156:37"},{"id":"0xfsdw5lecjk6x5bz0c5","title":"After Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:42.936Z","annotations":[],"duration":4,"location":"","subs":[{"id":"ibp2q5mw5zrbf7734eg4","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:42.936Z","annotations":[],"duration":1,"location":""}]}]},{"id":"f94beee4da9a3f4e28ab","title":"POST Command: DL (S) - L29_E - KN","type":"case","caseType":"passed","ok":true,"outcome":"expected","expectedStatus":"passed","location":"tests/api-command.spec.ts:135:13","logs":["[Command] Request: {\n \"merchantName\": \"SAVY\",\n \"floorName\": \"L29\",\n \"unitNumber\": \"E\",\n \"deviceName\": \"DL\",\n \"roomName\": \"KN\",\n \"deviceType\": \"S\",\n \"commandType\": \"C\",\n \"towerNumber\": \"T2\",\n \"payload\": {\n \"action\": \"Lock\"\n }\n}\n","[Command] Response Status: 200\n","[Command] Response Body: {\n \"status\": \"success\",\n \"message\": \"Command accepted\",\n \"receivedAt\": \"2026-01-13T10:17:43.082Z\"\n}\n","---\n"],"timestamps":[1768299462941,1768299463006],"duration":65,"tags":[],"timeout":30000,"retry":0,"status":"passed","stepNum":7,"stepFailed":0,"stepSubs":true,"subs":[{"id":"4nox1t8ix1fgp5c23uzp","title":"Before Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:42.941Z","annotations":[],"duration":5,"location":"","subs":[{"id":"abi1wj24xk3oy8078az4","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:42.945Z","annotations":[],"duration":1,"location":"","subs":[{"id":"0w18d7sg5g043m1711il","title":"Create request context","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:42.945Z","annotations":[],"duration":1,"location":""}]}]},{"id":"umhw6i1hl1qie4dpbd3e","title":"POST \"/device/v1/command\"","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:42.947Z","annotations":[],"duration":53,"location":"tests/api-command.spec.ts:140:42"},{"id":"vgkiq45zhff76wsise6b","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.001Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:156:37"},{"id":"cs9vbu2er8mltwdbz07g","title":"After Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:43.001Z","annotations":[],"duration":5,"location":"","subs":[{"id":"mkp4ii5jm7prcn4yqnoy","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:43.002Z","annotations":[],"duration":0,"location":""}]}]}],"location":"tests/api-command.spec.ts:116:8"},{"id":"677ea73e859b8834154f","title":"2. Status Check API Tests","type":"suite","suiteType":"describe","caseNum":11,"subs":[{"id":"da911117638a18b78656","title":"GET Status: BL (S) - L29_E - LV","type":"case","caseType":"passed","ok":true,"outcome":"expected","expectedStatus":"passed","location":"tests/api-command.spec.ts:169:13","logs":["[Status Check] Request URL: https://api-dev.vegacloud.id/device/v1/status?merchantName=SAVY&floorName=L29&unitNumber=E&deviceName=BL&roomName=LV&deviceType=S&commandType=S&towerNumber=T2\n","[Status Check] Response Status: 200\n","[Status Check] Response Body: {\n \"status\": \"success\",\n \"message\": \"command accepted\",\n \"data\": {\n \"floorName\": \"L29\",\n \"unitNumber\": \"E\",\n \"deviceName\": \"BL\",\n \"roomName\": \"LV\",\n \"deviceType\": \"S\",\n \"code\": \"S\",\n \"towerNumber\": \"T2\",\n \"payload\": \"Open\"\n }\n}\n","---\n"],"timestamps":[1768299463007,1768299463067],"duration":60,"tags":[],"timeout":30000,"retry":0,"status":"passed","stepNum":16,"stepFailed":0,"stepSubs":true,"subs":[{"id":"pqy33y87pztwuswonexi","title":"Before Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:43.007Z","annotations":[],"duration":4,"location":"","subs":[{"id":"uy99efgnkz4b6zj12mb5","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:43.010Z","annotations":[],"duration":1,"location":"","subs":[{"id":"7w88aw6f9yn4jjyvaji2","title":"Create request context","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:43.010Z","annotations":[],"duration":0,"location":""}]}]},{"id":"qv7xjwinregkfeqtsw5p","title":"GET \"/device/v1/status?merchantName=SAVY&floorName=L29&unitNumber=E&deviceName=BL&roomName=LV&deviceType=S&commandType=S&towerNumber=T2\"","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:43.012Z","annotations":[],"duration":44,"location":"tests/api-command.spec.ts:187:42"},{"id":"ibriacmi4uez95ssvux0","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.057Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:201:37"},{"id":"blq74ldw6tr1lv0zsf6e","title":"Expect \"not toBeNull\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.057Z","annotations":[],"duration":1,"location":"tests/api-command.spec.ts:202:41"},{"id":"cnzt374e0qh4kr9ih5s4","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.058Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:205:47"},{"id":"hfur3d0nzqinr7yhpozw","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.058Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:206:48"},{"id":"68afeplwik04sd9twwk4","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.059Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:207:48"},{"id":"tnubstx0indfjrd8npnj","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.059Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:208:46"},{"id":"o4tnwyvo3dcc6584e9jj","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.060Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:209:48"},{"id":"j1s1pubwxprfrvghemju","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.060Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:210:42"},{"id":"0sm2h8f2a8oo4a80l5fi","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.060Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:211:49"},{"id":"fximk9jm2dkik5a4cr6u","title":"Expect \"toHaveProperty\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.061Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:212:37"},{"id":"fh30diq2tgwtnnx1hkmo","title":"After Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:43.061Z","annotations":[],"duration":6,"location":"","subs":[{"id":"k1q4k4tw76r7dk8h3eem","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:43.062Z","annotations":[],"duration":1,"location":""}]}]},{"id":"cd91623c43621ada4ad3","title":"GET Status: BL (S) - L29_E - MS","type":"case","caseType":"passed","ok":true,"outcome":"expected","expectedStatus":"passed","location":"tests/api-command.spec.ts:169:13","logs":["[Status Check] Request URL: https://api-dev.vegacloud.id/device/v1/status?merchantName=SAVY&floorName=L29&unitNumber=E&deviceName=BL&roomName=MS&deviceType=S&commandType=S&towerNumber=T2\n","[Status Check] Response Status: 200\n","[Status Check] Response Body: {\n \"status\": \"success\",\n \"message\": \"command accepted\",\n \"data\": {\n \"floorName\": \"L29\",\n \"unitNumber\": \"E\",\n \"deviceName\": \"BL\",\n \"roomName\": \"MS\",\n \"deviceType\": \"S\",\n \"code\": \"S\",\n \"towerNumber\": \"T2\",\n \"payload\": \"Open\"\n }\n}\n","---\n"],"timestamps":[1768299463068,1768299463127],"duration":59,"tags":[],"timeout":30000,"retry":0,"status":"passed","stepNum":16,"stepFailed":0,"stepSubs":true,"subs":[{"id":"9etaoi0kiqp96id8nlfe","title":"Before Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:43.068Z","annotations":[],"duration":4,"location":"","subs":[{"id":"ham4dcuknsc1zf4elz4l","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:43.071Z","annotations":[],"duration":1,"location":"","subs":[{"id":"rnnadm4yve23nhw1cubi","title":"Create request context","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:43.072Z","annotations":[],"duration":0,"location":""}]}]},{"id":"e86j4qndvxs08m4cksia","title":"GET \"/device/v1/status?merchantName=SAVY&floorName=L29&unitNumber=E&deviceName=BL&roomName=MS&deviceType=S&commandType=S&towerNumber=T2\"","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:43.073Z","annotations":[],"duration":43,"location":"tests/api-command.spec.ts:187:42"},{"id":"3nqlttjq39z3zp8xrsdj","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.117Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:201:37"},{"id":"7l8x8fvc1aisbf26bjmj","title":"Expect \"not toBeNull\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.118Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:202:41"},{"id":"j2doi96gqf8sx3f9jchk","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.118Z","annotations":[],"duration":1,"location":"tests/api-command.spec.ts:205:47"},{"id":"sb6ax9zqqlqusiivimo4","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.119Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:206:48"},{"id":"8h740fi5v01yhgeuo3h9","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.119Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:207:48"},{"id":"tl0dffozcaasqx81d1ma","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.120Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:208:46"},{"id":"4av2in1qzytheun74dd4","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.120Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:209:48"},{"id":"wyn6yf6v6we1fyv007st","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.121Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:210:42"},{"id":"pw65iazcl73ca6spazhk","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.121Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:211:49"},{"id":"v1zm0uc8h75nsosrg983","title":"Expect \"toHaveProperty\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.122Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:212:37"},{"id":"3f6jtihs9v1y6yhbxzc8","title":"After Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:43.122Z","annotations":[],"duration":5,"location":"","subs":[{"id":"xsl009g46q5cku1v7ou8","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:43.122Z","annotations":[],"duration":1,"location":""}]}]},{"id":"d721efdde91cf0029d36","title":"GET Status: AC (S) - L29_E - LV","type":"case","caseType":"passed","ok":true,"outcome":"expected","expectedStatus":"passed","location":"tests/api-command.spec.ts:169:13","logs":["[Status Check] Request URL: https://api-dev.vegacloud.id/device/v1/status?merchantName=SAVY&floorName=L29&unitNumber=E&deviceName=AC&roomName=LV&deviceType=S&commandType=S&towerNumber=T2\n","[Status Check] Response Status: 200\n","[Status Check] Response Body: {\n \"status\": \"success\",\n \"message\": \"command accepted\",\n \"data\": {\n \"floorName\": \"L29\",\n \"unitNumber\": \"E\",\n \"deviceName\": \"AC\",\n \"roomName\": \"LV\",\n \"deviceType\": \"S\",\n \"code\": \"S\",\n \"towerNumber\": \"T2\",\n \"payload\": \"On\"\n }\n}\n","---\n"],"timestamps":[1768299463128,1768299463182],"duration":54,"tags":[],"timeout":30000,"retry":0,"status":"passed","stepNum":16,"stepFailed":0,"stepSubs":true,"subs":[{"id":"l4c1m2saylo1k8lqc1x3","title":"Before Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:43.129Z","annotations":[],"duration":4,"location":"","subs":[{"id":"vypgtzsw9ccc2pf5fzk3","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:43.132Z","annotations":[],"duration":1,"location":"","subs":[{"id":"w0xhiluc49h86ixcbw9b","title":"Create request context","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:43.132Z","annotations":[],"duration":1,"location":""}]}]},{"id":"f5q1927ygm3959mo02go","title":"GET \"/device/v1/status?merchantName=SAVY&floorName=L29&unitNumber=E&deviceName=AC&roomName=LV&deviceType=S&commandType=S&towerNumber=T2\"","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:43.134Z","annotations":[],"duration":38,"location":"tests/api-command.spec.ts:187:42"},{"id":"8rp56fcrpu6d7425e8ij","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.172Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:201:37"},{"id":"r2vwz1vfqqwtydq3z8ta","title":"Expect \"not toBeNull\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.173Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:202:41"},{"id":"f6unsd88sbrddsg3xdh3","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.173Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:205:47"},{"id":"8ps36ao3eglns7dfoip9","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.174Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:206:48"},{"id":"p6zl1b425tlt2drdjrs6","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.174Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:207:48"},{"id":"7wsrl9i6cdum266vvzed","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.175Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:208:46"},{"id":"8a9oq5eam4wr3gh930a9","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.175Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:209:48"},{"id":"kwq2rhdft0gmfszcdolr","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.175Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:210:42"},{"id":"tgn9q6elgzvobbsnd28o","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.176Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:211:49"},{"id":"p5rkl9i0y7cf20ovlb9d","title":"Expect \"toHaveProperty\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.176Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:212:37"},{"id":"kkmfbasko9wblh1qfgkf","title":"After Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:43.177Z","annotations":[],"duration":5,"location":"","subs":[{"id":"73kms3ffndijkrekn19f","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:43.177Z","annotations":[],"duration":1,"location":""}]}]},{"id":"337b01fb6409677a6077","title":"GET Status: AC (A) - L29_E - LV","type":"case","caseType":"failed","ok":false,"outcome":"unexpected","expectedStatus":"passed","location":"tests/api-command.spec.ts:169:13","logs":["[Status Check] Request URL: https://api-dev.vegacloud.id/device/v1/status?merchantName=SAVY&floorName=L29&unitNumber=E&deviceName=AC&roomName=LV&deviceType=A&commandType=S&towerNumber=T2\n","[Status Check] Response Status: 404\n","[Status Check] Response Body: {\n \"status\": \"not_found\",\n \"message\": \"Device not found\",\n \"data\": null\n}\n","---\n"],"timestamps":[1768299463183,1768299463299],"duration":116,"tags":[],"timeout":30000,"retry":0,"status":"failed","stepNum":8,"stepFailed":1,"stepSubs":true,"subs":[{"id":"vkm42yeu8t9bkab9same","title":"Before Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:43.183Z","annotations":[],"duration":5,"location":"","subs":[{"id":"m8vq42oyt4thchzylbe5","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:43.186Z","annotations":[],"duration":2,"location":"","subs":[{"id":"itpcufq0k63yixwjo680","title":"Create request context","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:43.187Z","annotations":[],"duration":1,"location":""}]}]},{"id":"xh05s3ij5ryxm5tenkdk","title":"GET \"/device/v1/status?merchantName=SAVY&floorName=L29&unitNumber=E&deviceName=AC&roomName=LV&deviceType=A&commandType=S&towerNumber=T2\"","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:43.189Z","annotations":[],"duration":94,"location":"tests/api-command.spec.ts:187:42"},{"id":"zcx5drdu0e5mpc00awlq","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.285Z","annotations":[],"duration":3,"location":"tests/api-command.spec.ts:201:37","errors":["Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBe\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // Object.is equality\u001b[22m\n\nExpected: \u001b[32m200\u001b[39m\nReceived: \u001b[31m404\u001b[39m\n\n\u001b[0m \u001b[90m 199 |\u001b[39m console\u001b[33m.\u001b[39mlog(\u001b[32m'---'\u001b[39m)\n \u001b[90m 200 |\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 201 |\u001b[39m expect(response\u001b[33m.\u001b[39mstatus())\u001b[33m.\u001b[39mtoBe(\u001b[35m200\u001b[39m)\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\u001b[0m\n\n at /Users/nuralan/skyrain/savy/playwright/tests/api-command.spec.ts:201:37"],"errorNum":1},{"id":"as974chgiw3j3wm7lzuk","title":"After Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:43.289Z","annotations":[],"duration":6,"location":"","subs":[{"id":"0e8utv70wg5kqwf99urx","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:43.289Z","annotations":[],"duration":1,"location":""}]},{"id":"r3uck6mdknzsfk4jafs1","title":"Worker Cleanup","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:43.295Z","annotations":[],"duration":1,"location":""}],"errorNum":1,"errorId":"zcx5drdu0e5mpc00awlq"},{"id":"46f31440ee5942e8295d","title":"GET Status: AC (S) - L29_E - BR1","type":"case","caseType":"passed","ok":true,"outcome":"expected","expectedStatus":"passed","location":"tests/api-command.spec.ts:169:13","logs":["[Status Check] Request URL: https://api-dev.vegacloud.id/device/v1/status?merchantName=SAVY&floorName=L29&unitNumber=E&deviceName=AC&roomName=BR1&deviceType=S&commandType=S&towerNumber=T2\n","[Status Check] Response Status: 200\n","[Status Check] Response Body: {\n \"status\": \"success\",\n \"message\": \"command accepted\",\n \"data\": {\n \"floorName\": \"L29\",\n \"unitNumber\": \"E\",\n \"deviceName\": \"AC\",\n \"roomName\": \"BR1\",\n \"deviceType\": \"S\",\n \"code\": \"S\",\n \"towerNumber\": \"T2\",\n \"payload\": \"On\"\n }\n}\n","---\n"],"timestamps":[1768299463657,1768299463830],"duration":173,"tags":[],"timeout":30000,"retry":0,"status":"passed","stepNum":16,"stepFailed":0,"stepSubs":true,"subs":[{"id":"z75yw7mrmiuyv4z6iz5t","title":"Before Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:43.658Z","annotations":[],"duration":8,"location":"","subs":[{"id":"menb06zrjmcghvuzk3ep","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:43.663Z","annotations":[],"duration":3,"location":"","subs":[{"id":"ka8w9mutykxy09r36k84","title":"Create request context","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:43.664Z","annotations":[],"duration":2,"location":""}]}]},{"id":"dc56ox13h7tgxc0mzoka","title":"GET \"/device/v1/status?merchantName=SAVY&floorName=L29&unitNumber=E&deviceName=AC&roomName=BR1&deviceType=S&commandType=S&towerNumber=T2\"","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:43.667Z","annotations":[],"duration":147,"location":"tests/api-command.spec.ts:187:42"},{"id":"howi1re0va2ff2imclp5","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.817Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:201:37"},{"id":"oktuccjns61ddkmobipu","title":"Expect \"not toBeNull\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.818Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:202:41"},{"id":"50inl905h2mv6z8wzwmk","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.818Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:205:47"},{"id":"t2i0d13akrpry5h0gxp2","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.819Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:206:48"},{"id":"cac9jqcaeex2g1iznfhb","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.819Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:207:48"},{"id":"pfq639x5ivx6yjs2q9rh","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.820Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:208:46"},{"id":"td05kjot54hyo9xhgm1p","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.821Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:209:48"},{"id":"85ecosdip7fzxc40fvlh","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.821Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:210:42"},{"id":"5icjlkmx9avw8iwxwbbr","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.822Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:211:49"},{"id":"ix82tagna2u0cvd1vngq","title":"Expect \"toHaveProperty\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.823Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:212:37"},{"id":"taipe1z5g1cr0t7hpy8m","title":"After Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:43.823Z","annotations":[],"duration":7,"location":"","subs":[{"id":"08xm4dtjhi01lz0bl1me","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:43.824Z","annotations":[],"duration":1,"location":""}]}]},{"id":"19eb170dd569cd788304","title":"GET Status: AC (A) - L29_E - BR1","type":"case","caseType":"failed","ok":false,"outcome":"unexpected","expectedStatus":"passed","location":"tests/api-command.spec.ts:169:13","logs":["[Status Check] Request URL: https://api-dev.vegacloud.id/device/v1/status?merchantName=SAVY&floorName=L29&unitNumber=E&deviceName=AC&roomName=BR1&deviceType=A&commandType=S&towerNumber=T2\n","[Status Check] Response Status: 404\n","[Status Check] Response Body: {\n \"status\": \"not_found\",\n \"message\": \"Device not found\",\n \"data\": null\n}\n","---\n"],"timestamps":[1768299463833,1768299463923],"duration":90,"tags":[],"timeout":30000,"retry":0,"status":"failed","stepNum":8,"stepFailed":1,"stepSubs":true,"subs":[{"id":"fkdqav1r5o5ikdhgjjkc","title":"Before Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:43.833Z","annotations":[],"duration":5,"location":"","subs":[{"id":"qjyb5jcyx6xtxzjl1u1z","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:43.837Z","annotations":[],"duration":1,"location":"","subs":[{"id":"9faewjp9m9q5zvfuxty2","title":"Create request context","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:43.837Z","annotations":[],"duration":0,"location":""}]}]},{"id":"yobpalloa1ikppl2786u","title":"GET \"/device/v1/status?merchantName=SAVY&floorName=L29&unitNumber=E&deviceName=AC&roomName=BR1&deviceType=A&commandType=S&towerNumber=T2\"","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:43.838Z","annotations":[],"duration":75,"location":"tests/api-command.spec.ts:187:42"},{"id":"ypoadhber2olop1scczn","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:43.914Z","annotations":[],"duration":2,"location":"tests/api-command.spec.ts:201:37","errors":["Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBe\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // Object.is equality\u001b[22m\n\nExpected: \u001b[32m200\u001b[39m\nReceived: \u001b[31m404\u001b[39m\n\n\u001b[0m \u001b[90m 199 |\u001b[39m console\u001b[33m.\u001b[39mlog(\u001b[32m'---'\u001b[39m)\n \u001b[90m 200 |\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 201 |\u001b[39m expect(response\u001b[33m.\u001b[39mstatus())\u001b[33m.\u001b[39mtoBe(\u001b[35m200\u001b[39m)\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\u001b[0m\n\n at /Users/nuralan/skyrain/savy/playwright/tests/api-command.spec.ts:201:37"],"errorNum":1},{"id":"cyp3d31ok44m4yd9f630","title":"After Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:43.916Z","annotations":[],"duration":5,"location":"","subs":[{"id":"5la6x0f6b1j6a97bt2f1","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:43.916Z","annotations":[],"duration":1,"location":""}]},{"id":"sua9olmnguw34l4m1w8t","title":"Worker Cleanup","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:43.921Z","annotations":[],"duration":1,"location":""}],"errorNum":1,"errorId":"ypoadhber2olop1scczn"},{"id":"de038ae7a3e9522a5666","title":"GET Status: AC (S) - L29_E - BR2","type":"case","caseType":"passed","ok":true,"outcome":"expected","expectedStatus":"passed","location":"tests/api-command.spec.ts:169:13","logs":["[Status Check] Request URL: https://api-dev.vegacloud.id/device/v1/status?merchantName=SAVY&floorName=L29&unitNumber=E&deviceName=AC&roomName=BR2&deviceType=S&commandType=S&towerNumber=T2\n","[Status Check] Response Status: 200\n","[Status Check] Response Body: {\n \"status\": \"success\",\n \"message\": \"command accepted\",\n \"data\": {\n \"floorName\": \"L29\",\n \"unitNumber\": \"E\",\n \"deviceName\": \"AC\",\n \"roomName\": \"BR2\",\n \"deviceType\": \"S\",\n \"code\": \"S\",\n \"towerNumber\": \"T2\",\n \"payload\": \"On\"\n }\n}\n","---\n"],"timestamps":[1768299464291,1768299464470],"duration":179,"tags":[],"timeout":30000,"retry":0,"status":"passed","stepNum":16,"stepFailed":0,"stepSubs":true,"subs":[{"id":"vgo69cu93dvpdwr94mpt","title":"Before Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:44.292Z","annotations":[],"duration":8,"location":"","subs":[{"id":"fcj9x02l8q7op4d6udxs","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:44.297Z","annotations":[],"duration":3,"location":"","subs":[{"id":"lwzdmo805z0t70xwyu3c","title":"Create request context","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:44.298Z","annotations":[],"duration":2,"location":""}]}]},{"id":"g5lks4osin0w3h8whuj1","title":"GET \"/device/v1/status?merchantName=SAVY&floorName=L29&unitNumber=E&deviceName=AC&roomName=BR2&deviceType=S&commandType=S&towerNumber=T2\"","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:44.302Z","annotations":[],"duration":150,"location":"tests/api-command.spec.ts:187:42"},{"id":"vj8ofdythfwz2pbwivm7","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:44.455Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:201:37"},{"id":"1pdhsnb33ao0w9937t20","title":"Expect \"not toBeNull\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:44.456Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:202:41"},{"id":"hewg2so0q94q1isv2qq7","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:44.457Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:205:47"},{"id":"lhwcgcgvbp9bnoa5jwjg","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:44.457Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:206:48"},{"id":"znr0nk8uev3nooe9nngv","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:44.458Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:207:48"},{"id":"q3m5vaey9xdkoen9n77y","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:44.459Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:208:46"},{"id":"xamlfd9tpxo36kni3m6f","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:44.459Z","annotations":[],"duration":1,"location":"tests/api-command.spec.ts:209:48"},{"id":"02ab73idy8f40hdni1xx","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:44.460Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:210:42"},{"id":"phyb7v71aqx2fyu8di18","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:44.464Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:211:49"},{"id":"q65gnxcnfrcebl2q69ei","title":"Expect \"toHaveProperty\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:44.464Z","annotations":[],"duration":1,"location":"tests/api-command.spec.ts:212:37"},{"id":"mpexcgu3gwqmwyln6mgb","title":"After Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:44.465Z","annotations":[],"duration":4,"location":"","subs":[{"id":"mwr8eeeb49cj8w4wfngr","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:44.465Z","annotations":[],"duration":1,"location":""}]}]},{"id":"50659f71d91abeb8af18","title":"GET Status: AC (A) - L29_E - BR2","type":"case","caseType":"failed","ok":false,"outcome":"unexpected","expectedStatus":"passed","location":"tests/api-command.spec.ts:169:13","logs":["[Status Check] Request URL: https://api-dev.vegacloud.id/device/v1/status?merchantName=SAVY&floorName=L29&unitNumber=E&deviceName=AC&roomName=BR2&deviceType=A&commandType=S&towerNumber=T2\n","[Status Check] Response Status: 404\n","[Status Check] Response Body: {\n \"status\": \"not_found\",\n \"message\": \"Device not found\",\n \"data\": null\n}\n","---\n"],"timestamps":[1768299464470,1768299464568],"duration":98,"tags":[],"timeout":30000,"retry":0,"status":"failed","stepNum":8,"stepFailed":1,"stepSubs":true,"subs":[{"id":"hylva49vdhf1a2ud8l1r","title":"Before Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:44.470Z","annotations":[],"duration":9,"location":"","subs":[{"id":"h6uy08wuw5bxtbxefpex","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:44.474Z","annotations":[],"duration":5,"location":"","subs":[{"id":"urtogz8h2s0su9i1mgey","title":"Create request context","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:44.475Z","annotations":[],"duration":4,"location":""}]}]},{"id":"k5jovqepu2a6g774u15q","title":"GET \"/device/v1/status?merchantName=SAVY&floorName=L29&unitNumber=E&deviceName=AC&roomName=BR2&deviceType=A&commandType=S&towerNumber=T2\"","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:44.480Z","annotations":[],"duration":81,"location":"tests/api-command.spec.ts:187:42"},{"id":"qprv1rm42xjhpj6i5hg1","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:44.562Z","annotations":[],"duration":1,"location":"tests/api-command.spec.ts:201:37","errors":["Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBe\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // Object.is equality\u001b[22m\n\nExpected: \u001b[32m200\u001b[39m\nReceived: \u001b[31m404\u001b[39m\n\n\u001b[0m \u001b[90m 199 |\u001b[39m console\u001b[33m.\u001b[39mlog(\u001b[32m'---'\u001b[39m)\n \u001b[90m 200 |\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 201 |\u001b[39m expect(response\u001b[33m.\u001b[39mstatus())\u001b[33m.\u001b[39mtoBe(\u001b[35m200\u001b[39m)\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\u001b[0m\n\n at /Users/nuralan/skyrain/savy/playwright/tests/api-command.spec.ts:201:37"],"errorNum":1},{"id":"c5v6oyptygcu9rl8v6pu","title":"After Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:44.563Z","annotations":[],"duration":3,"location":"","subs":[{"id":"re5s4vk8trnlq9rau78c","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:44.563Z","annotations":[],"duration":1,"location":""}]},{"id":"fon7xwklsragbtjwn5p3","title":"Worker Cleanup","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:44.566Z","annotations":[],"duration":1,"location":""}],"errorNum":1,"errorId":"qprv1rm42xjhpj6i5hg1"},{"id":"c147dab815a14eb8d5d8","title":"GET Status: AC (S) - L29_E - MS","type":"case","caseType":"passed","ok":true,"outcome":"expected","expectedStatus":"passed","location":"tests/api-command.spec.ts:169:13","logs":["[Status Check] Request URL: https://api-dev.vegacloud.id/device/v1/status?merchantName=SAVY&floorName=L29&unitNumber=E&deviceName=AC&roomName=MS&deviceType=S&commandType=S&towerNumber=T2\n","[Status Check] Response Status: 200\n","[Status Check] Response Body: {\n \"status\": \"success\",\n \"message\": \"command accepted\",\n \"data\": {\n \"floorName\": \"L29\",\n \"unitNumber\": \"E\",\n \"deviceName\": \"AC\",\n \"roomName\": \"MS\",\n \"deviceType\": \"S\",\n \"code\": \"S\",\n \"towerNumber\": \"T2\",\n \"payload\": \"On\"\n }\n}\n","---\n"],"timestamps":[1768299464923,1768299465146],"duration":223,"tags":[],"timeout":30000,"retry":0,"status":"passed","stepNum":16,"stepFailed":0,"stepSubs":true,"subs":[{"id":"6c7tfjmeol2abip2mre9","title":"Before Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:44.924Z","annotations":[],"duration":8,"location":"","subs":[{"id":"mh7rjhyxi2i3idi2rkgv","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:44.929Z","annotations":[],"duration":3,"location":"","subs":[{"id":"uzp19ik3xfuz0lej94ue","title":"Create request context","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:44.930Z","annotations":[],"duration":2,"location":""}]}]},{"id":"znevxb8165nlqosh5qak","title":"GET \"/device/v1/status?merchantName=SAVY&floorName=L29&unitNumber=E&deviceName=AC&roomName=MS&deviceType=S&commandType=S&towerNumber=T2\"","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:44.934Z","annotations":[],"duration":192,"location":"tests/api-command.spec.ts:187:42"},{"id":"9mj4yo185ibp7ftwlpg5","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:45.129Z","annotations":[],"duration":1,"location":"tests/api-command.spec.ts:201:37"},{"id":"29sneak7kwvny4gf8lrb","title":"Expect \"not toBeNull\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:45.131Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:202:41"},{"id":"4vjagakmnovjtf9sg2mq","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:45.132Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:205:47"},{"id":"kkv9ujupag2nq3i5deoz","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:45.132Z","annotations":[],"duration":1,"location":"tests/api-command.spec.ts:206:48"},{"id":"7x8vzie464wb73v9tk5t","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:45.133Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:207:48"},{"id":"sia0gnvil90eiyy9kdwk","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:45.134Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:208:46"},{"id":"0x4xtesh7cv7n7n5ywx9","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:45.135Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:209:48"},{"id":"yvy2c62d8fhhxbkcrnpp","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:45.135Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:210:42"},{"id":"o0vddz7flibmtex9mqga","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:45.136Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:211:49"},{"id":"6d17k021wnasf9ssckj2","title":"Expect \"toHaveProperty\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:45.137Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:212:37"},{"id":"hcgh9hp4khmtqla0eb7k","title":"After Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:45.138Z","annotations":[],"duration":8,"location":"","subs":[{"id":"uwo3h0f27by69g0fgwyl","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:45.138Z","annotations":[],"duration":2,"location":""}]}]},{"id":"4eef833e4bdce4410e38","title":"GET Status: AC (A) - L29_E - MS","type":"case","caseType":"failed","ok":false,"outcome":"unexpected","expectedStatus":"passed","location":"tests/api-command.spec.ts:169:13","logs":["[Status Check] Request URL: https://api-dev.vegacloud.id/device/v1/status?merchantName=SAVY&floorName=L29&unitNumber=E&deviceName=AC&roomName=MS&deviceType=A&commandType=S&towerNumber=T2\n","[Status Check] Response Status: 404\n","[Status Check] Response Body: {\n \"status\": \"not_found\",\n \"message\": \"Device not found\",\n \"data\": null\n}\n","---\n"],"timestamps":[1768299465150,1768299465246],"duration":96,"tags":[],"timeout":30000,"retry":0,"status":"failed","stepNum":8,"stepFailed":1,"stepSubs":true,"subs":[{"id":"3ukpjb3ls8m4ivmv3uny","title":"Before Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:45.150Z","annotations":[],"duration":6,"location":"","subs":[{"id":"1c4v50eiv4ig6b9m9fmg","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:45.154Z","annotations":[],"duration":1,"location":"","subs":[{"id":"hryyk5oitz99kznn37pt","title":"Create request context","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:45.155Z","annotations":[],"duration":0,"location":""}]}]},{"id":"kiebh89t0a266smir927","title":"GET \"/device/v1/status?merchantName=SAVY&floorName=L29&unitNumber=E&deviceName=AC&roomName=MS&deviceType=A&commandType=S&towerNumber=T2\"","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:45.156Z","annotations":[],"duration":83,"location":"tests/api-command.spec.ts:187:42"},{"id":"20h7r63rcdejmxso7pzm","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:45.240Z","annotations":[],"duration":1,"location":"tests/api-command.spec.ts:201:37","errors":["Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBe\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // Object.is equality\u001b[22m\n\nExpected: \u001b[32m200\u001b[39m\nReceived: \u001b[31m404\u001b[39m\n\n\u001b[0m \u001b[90m 199 |\u001b[39m console\u001b[33m.\u001b[39mlog(\u001b[32m'---'\u001b[39m)\n \u001b[90m 200 |\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 201 |\u001b[39m expect(response\u001b[33m.\u001b[39mstatus())\u001b[33m.\u001b[39mtoBe(\u001b[35m200\u001b[39m)\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\u001b[0m\n\n at /Users/nuralan/skyrain/savy/playwright/tests/api-command.spec.ts:201:37"],"errorNum":1},{"id":"0saahuwqir3fvkm5haru","title":"After Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:45.241Z","annotations":[],"duration":4,"location":"","subs":[{"id":"hyto7ws9myatw52mb34p","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:45.241Z","annotations":[],"duration":1,"location":""}]},{"id":"hxzpbdbpykforq0szj5v","title":"Worker Cleanup","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:45.245Z","annotations":[],"duration":0,"location":""}],"errorNum":1,"errorId":"20h7r63rcdejmxso7pzm"},{"id":"76215751f0f3967e7490","title":"GET Status: DL (S) - L29_E - KN","type":"case","caseType":"passed","ok":true,"outcome":"expected","expectedStatus":"passed","location":"tests/api-command.spec.ts:169:13","logs":["[Status Check] Request URL: https://api-dev.vegacloud.id/device/v1/status?merchantName=SAVY&floorName=L29&unitNumber=E&deviceName=DL&roomName=KN&deviceType=S&commandType=S&towerNumber=T2\n","[Status Check] Response Status: 200\n","[Status Check] Response Body: {\n \"status\": \"success\",\n \"message\": \"command accepted\",\n \"data\": {\n \"floorName\": \"L29\",\n \"unitNumber\": \"E\",\n \"deviceName\": \"DL\",\n \"roomName\": \"KN\",\n \"deviceType\": \"S\",\n \"code\": \"S\",\n \"towerNumber\": \"T2\",\n \"payload\": \"Lock\"\n }\n}\n","---\n"],"timestamps":[1768299465596,1768299465784],"duration":188,"tags":[],"timeout":30000,"retry":0,"status":"passed","stepNum":16,"stepFailed":0,"stepSubs":true,"subs":[{"id":"2lv2trkx0lrgt4dpkx35","title":"Before Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:45.597Z","annotations":[],"duration":8,"location":"","subs":[{"id":"81zobj7xtv4f7uij1vnq","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:45.602Z","annotations":[],"duration":3,"location":"","subs":[{"id":"d6e7is7715hpj56w6igt","title":"Create request context","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:45.603Z","annotations":[],"duration":1,"location":""}]}]},{"id":"7tlvii9x5r0cdjbua45s","title":"GET \"/device/v1/status?merchantName=SAVY&floorName=L29&unitNumber=E&deviceName=DL&roomName=KN&deviceType=S&commandType=S&towerNumber=T2\"","type":"step","stepType":"pw:api","startTime":"2026-01-13T10:17:45.606Z","annotations":[],"duration":159,"location":"tests/api-command.spec.ts:187:42"},{"id":"vvtasfdogf5xdtxynd9x","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:45.769Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:201:37"},{"id":"tfexbc9obgn0ln4iemr9","title":"Expect \"not toBeNull\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:45.770Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:202:41"},{"id":"p6f736i6qpatcfofb6ia","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:45.770Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:205:47"},{"id":"joe5pbi4ogvavqy5tow7","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:45.771Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:206:48"},{"id":"o7f9uth437sie9xzdxae","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:45.771Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:207:48"},{"id":"bosv5a4duhjfs1mpp5b7","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:45.772Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:208:46"},{"id":"ol31idg0y06d4pah1l39","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:45.773Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:209:48"},{"id":"ppotkl6o36u32tohya22","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:45.773Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:210:42"},{"id":"voyv9tguuogflke0ps8i","title":"Expect \"toBe\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:45.776Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:211:49"},{"id":"6vd72cxnoul9ex9xwqf0","title":"Expect \"toHaveProperty\"","type":"step","stepType":"expect","startTime":"2026-01-13T10:17:45.777Z","annotations":[],"duration":0,"location":"tests/api-command.spec.ts:212:37"},{"id":"d6buaybjqvzj5mitz0ws","title":"After Hooks","type":"step","stepType":"hook","startTime":"2026-01-13T10:17:45.778Z","annotations":[],"duration":6,"location":"","subs":[{"id":"gt9zgtk3c2hhb9u0h9dh","title":"Fixture \"request\"","type":"step","stepType":"fixture","startTime":"2026-01-13T10:17:45.778Z","annotations":[],"duration":2,"location":""}]}]}],"location":"tests/api-command.spec.ts:162:8"}],"location":"tests/api-command.spec.ts:107:6"}],"location":"tests/api-command.spec.ts:0:0"}]}],"formatters":{},"suiteTypes":["project","file","describe","shard"],"caseTypes":["failed","flaky","skipped","passed"],"traceViewerUrl":"https://trace.playwright.dev/?trace={traceUrl}","mermaid":null,"groupOptions":null,"tags":{},"summary":{"tests":{"name":"Tests","value":22,"nav":true,"id":"tests"},"failed":{"name":"Failed","value":4,"color":"#d00","nav":true,"id":"failed","percent":"18.2%"},"flaky":{"name":"Flaky","value":0,"color":"orange","nav":true,"id":"flaky","percent":"0.0%"},"skipped":{"name":"Skipped","value":0,"color":"gray","nav":true,"id":"skipped","percent":"0.0%"},"passed":{"name":"Passed","value":18,"color":"green","nav":true,"id":"passed","percent":"81.8%"},"steps":{"name":"Steps","value":221,"id":"steps"},"suites":{"name":"Suites","value":2,"id":"suites"},"projects":{"name":"Projects","description":"Suite type is project","value":1,"id":"projects"},"files":{"name":"Files","description":"Suite type is file","value":1,"id":"files"},"describes":{"name":"Describes","description":"Suite type is describe","value":3,"id":"describes"},"shards":{"name":"Shards","description":"Suite type is shard (only in shading mode)","value":0,"id":"shards"},"errors":{"name":"Errors","icon":"error","value":4,"id":"errors"},"retries":{"name":"Retries","icon":"retry","value":0,"id":"retries"},"logs":{"name":"Logs","icon":"log","value":88,"id":"logs"},"attachments":{"name":"Attachments","icon":"attachment","value":0,"id":"attachments"},"artifacts":{"name":"Artifacts","value":0}},"pieChart":{"ns":"mcr-pie","width":360,"height":150,"margin":10,"svg":"<svg viewBox=\"0 0 360 150\" width=\"100%\" height=\"100%\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"mcr-pie-path-failed\"><path d=\"M75,75 L75,10 A65,65 0 0 1 134.2,48.1 z\" fill=\"#d00\" opacity=\"0.8\" /><animateTransform from=\"0,0\" to=\"0,0\" pos=\"5.4,-8.4\" attributeName=\"transform\" type=\"translate\" dur=\"0.2s\" fill=\"freeze\" repeatCount=\"1\" restart=\"always\" /></g><g class=\"mcr-pie-path-flaky\"><path d=\"\" fill=\"orange\" opacity=\"0.8\" /><animateTransform from=\"0,0\" to=\"0,0\" pos=\"9.1,-4.1\" attributeName=\"transform\" type=\"translate\" dur=\"0.2s\" fill=\"freeze\" repeatCount=\"1\" restart=\"always\" /></g><g class=\"mcr-pie-path-skipped\"><path d=\"\" fill=\"gray\" opacity=\"0.8\" /><animateTransform from=\"0,0\" to=\"0,0\" pos=\"9.1,-4.1\" attributeName=\"transform\" type=\"translate\" dur=\"0.2s\" fill=\"freeze\" repeatCount=\"1\" restart=\"always\" /></g><g class=\"mcr-pie-path-passed\"><path d=\"M75,75 L134.2,48.1 A65,65 0 1 1 75,10 z\" fill=\"green\" opacity=\"0.8\" /><animateTransform from=\"0,0\" to=\"0,0\" pos=\"-5.4,8.4\" attributeName=\"transform\" type=\"translate\" dur=\"0.2s\" fill=\"freeze\" repeatCount=\"1\" restart=\"always\" /></g><g font-size=\"14px\" font-family=\"Helvetica, Arial, sans-serif\" transform=\"translate(160 20)\"><g class=\"mcr-pie-legend-failed\" transform=\"translate(0 0)\"><circle cx=\"10\" cy=\"12\" r=\"8\" fill=\"#d00\" opacity=\"0.8\" /><text x=\"25\" y=\"12\" alignment-baseline=\"middle\">Failed</text><text x=\"125\" y=\"12\" alignment-baseline=\"middle\" text-anchor=\"end\">4</text><text x=\"190\" y=\"12\" alignment-baseline=\"middle\" text-anchor=\"end\">18.2%</text></g><g class=\"mcr-pie-legend-flaky\" transform=\"translate(0 24)\"><circle cx=\"10\" cy=\"12\" r=\"8\" fill=\"orange\" opacity=\"0.2\" /><text x=\"25\" y=\"12\" alignment-baseline=\"middle\">Flaky</text><text x=\"125\" y=\"12\" alignment-baseline=\"middle\" text-anchor=\"end\">0</text><text x=\"190\" y=\"12\" alignment-baseline=\"middle\" text-anchor=\"end\">0.0%</text></g><g class=\"mcr-pie-legend-skipped\" transform=\"translate(0 48)\"><circle cx=\"10\" cy=\"12\" r=\"8\" fill=\"gray\" opacity=\"0.2\" /><text x=\"25\" y=\"12\" alignment-baseline=\"middle\">Skipped</text><text x=\"125\" y=\"12\" alignment-baseline=\"middle\" text-anchor=\"end\">0</text><text x=\"190\" y=\"12\" alignment-baseline=\"middle\" text-anchor=\"end\">0.0%</text></g><g class=\"mcr-pie-legend-passed\" transform=\"translate(0 72)\"><circle cx=\"10\" cy=\"12\" r=\"8\" fill=\"green\" opacity=\"0.8\" /><text x=\"25\" y=\"12\" alignment-baseline=\"middle\">Passed</text><text x=\"125\" y=\"12\" alignment-baseline=\"middle\" text-anchor=\"end\">18</text><text x=\"190\" y=\"12\" alignment-baseline=\"middle\" text-anchor=\"end\">81.8%</text></g><g class=\"mcr-pie-legend-tests\" transform=\"translate(0 96)\"><text x=\"25\" y=\"12\" alignment-baseline=\"middle\">Total</text><text x=\"125\" y=\"12\" alignment-baseline=\"middle\" text-anchor=\"end\">22</text></g></g></svg>"},"htmlPath":"monocart-report/index.html"}
|