{ "config": { "configFile": "E:\\work\\edit_3d\\unreal_tran\\ute2e\\role-permissions-live.config.ts", "rootDir": "E:/work/edit_3d/unreal_tran/ute2e/tests", "forbidOnly": false, "fullyParallel": false, "globalSetup": null, "globalTeardown": null, "globalTimeout": 0, "grep": {}, "grepInvert": null, "maxFailures": 0, "metadata": { "actualWorkers": 1 }, "preserveOutput": "always", "reporter": [ [ "list", null ], [ "html", { "outputFolder": "reports/role-permissions-20260906/playwright", "open": "never" } ], [ "json", { "outputFile": "reports/role-permissions-20260906/results.json" } ] ], "reportSlowTests": { "max": 5, "threshold": 300000 }, "quiet": false, "projects": [ { "outputDir": "E:/work/edit_3d/unreal_tran/ute2e/reports/role-permissions-20260906/test-results", "repeatEach": 1, "retries": 0, "metadata": { "actualWorkers": 1 }, "id": "", "name": "", "testDir": "E:/work/edit_3d/unreal_tran/ute2e/tests", "testIgnore": [], "testMatch": [ "role-permissions-live.spec.ts", "role-permissions-races.spec.ts" ], "timeout": 90000 } ], "shard": null, "updateSnapshots": "missing", "updateSourceMethod": "patch", "version": "1.55.0", "workers": 1, "webServer": null }, "suites": [ { "title": "role-permissions-live.spec.ts", "file": "role-permissions-live.spec.ts", "column": 0, "line": 0, "specs": [ { "title": "管理员授权固定,权限树细分到页面操作", "ok": true, "tags": [], "tests": [ { "timeout": 90000, "annotations": [], "expectedStatus": "passed", "projectId": "", "projectName": "", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 4890, "errors": [], "stdout": [], "stderr": [], "retry": 0, "startTime": "2026-09-06T04:01:44.991Z", "annotations": [], "attachments": [ { "name": "01-admin-fixed-permissions", "contentType": "image/png", "path": "E:\\work\\edit_3d\\unreal_tran\\ute2e\\reports\\role-permissions-20260906\\test-results\\role-permissions-live-管理员授权固定,权限树细分到页面操作\\attachments\\01-admin-fixed-permissions-a7dbf6b3e095f684c40ab84f44679efd6782130c.png" }, { "name": "sanitized-api-failures", "contentType": "application/json", "body": "W3sicGF0aCI6Ii9hcGkvdjEvZmlsZXMvMGQ4ODY0YTRmZThmNDZjMmJmNGZkNDkwMmYxYjM2NDYvY29udGVudCIsInN0YXR1cyI6NDA0fSx7InBhdGgiOiIvYXBpL3YxL2ZpbGVzLzBkODg2NGE0ZmU4ZjQ2YzJiZjRmZDQ5MDJmMWIzNjQ2L2NvbnRlbnQiLCJlcnJvciI6Im5ldDo6RVJSX0FCT1JURUQifV0=" } ] } ], "status": "expected" } ], "id": "6358900fc7e9a59113e1-9dcc2bf9f0cc9a70dee9", "file": "role-permissions-live.spec.ts", "line": 61, "column": 1 }, { "title": "权限依赖:勾选操作自动补齐查看,取消查看需要确认", "ok": true, "tags": [], "tests": [ { "timeout": 90000, "annotations": [], "expectedStatus": "passed", "projectId": "", "projectName": "", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 11397, "errors": [], "stdout": [], "stderr": [], "retry": 0, "startTime": "2026-09-06T04:01:50.388Z", "annotations": [], "attachments": [ { "name": "02-action-adds-page-permission", "contentType": "image/png", "path": "E:\\work\\edit_3d\\unreal_tran\\ute2e\\reports\\role-permissions-20260906\\test-results\\role-permissions-live-权限依赖:勾选操作自动补齐查看,取消查看需要确认\\attachments\\02-action-adds-page-permission-7711c2cf7fb63f1e3f92afd44a723fc1e6e47df8.png" }, { "name": "03-removing-page-confirms-dependent-actions", "contentType": "image/png", "path": "E:\\work\\edit_3d\\unreal_tran\\ute2e\\reports\\role-permissions-20260906\\test-results\\role-permissions-live-权限依赖:勾选操作自动补齐查看,取消查看需要确认\\attachments\\03-removing-page-confirms-dependent-actions-0f1864b58272a29fc74d69df297edd82dc941471.png" }, { "name": "sanitized-api-failures", "contentType": "application/json", "body": "W3sicGF0aCI6Ii9hcGkvdjEvZmlsZXMvMGQ4ODY0YTRmZThmNDZjMmJmNGZkNDkwMmYxYjM2NDYvY29udGVudCIsInN0YXR1cyI6NDA0fSx7InBhdGgiOiIvYXBpL3YxL2ZpbGVzLzBkODg2NGE0ZmU4ZjQ2YzJiZjRmZDQ5MDJmMWIzNjQ2L2NvbnRlbnQiLCJlcnJvciI6Im5ldDo6RVJSX0FCT1JURUQifV0=" } ] } ], "status": "expected" } ], "id": "6358900fc7e9a59113e1-4b3691030af7af361df9", "file": "role-permissions-live.spec.ts", "line": 75, "column": 1 }, { "title": "头像弹窗切换自定义角色,清理旧缓存并改变操作能力", "ok": true, "tags": [], "tests": [ { "timeout": 90000, "annotations": [], "expectedStatus": "passed", "projectId": "", "projectName": "", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 6209, "errors": [], "stdout": [], "stderr": [], "retry": 0, "startTime": "2026-09-06T04:02:01.805Z", "annotations": [], "attachments": [ { "name": "04-custom-reader-model-list", "contentType": "image/png", "path": "E:\\work\\edit_3d\\unreal_tran\\ute2e\\reports\\role-permissions-20260906\\test-results\\role-permissions-live-头像弹窗切换自定义角色,清理旧缓存并改变操作能力\\attachments\\04-custom-reader-model-list-f3116a1108bad705793d298a084fd84d32c45616.png" }, { "name": "05-avatar-role-switch-dialog", "contentType": "image/png", "path": "E:\\work\\edit_3d\\unreal_tran\\ute2e\\reports\\role-permissions-20260906\\test-results\\role-permissions-live-头像弹窗切换自定义角色,清理旧缓存并改变操作能力\\attachments\\05-avatar-role-switch-dialog-be8e9c76621a69cac0d2c6d56ffe05126177d602.png" }, { "name": "06-custom-editor-model-list", "contentType": "image/png", "path": "E:\\work\\edit_3d\\unreal_tran\\ute2e\\reports\\role-permissions-20260906\\test-results\\role-permissions-live-头像弹窗切换自定义角色,清理旧缓存并改变操作能力\\attachments\\06-custom-editor-model-list-537906d386cfab21188de6e97acba72dc947dd1c.png" }, { "name": "sanitized-api-failures", "contentType": "application/json", "body": "W3sicGF0aCI6Ii9hcGkvdHJhbi92MS9jb250ZW50L3Byb2plY3RzLzE1Ni9jb3ZlciIsInN0YXR1cyI6NTAzfSx7InBhdGgiOiIvYXBpL3RyYW4vdjEvY29udGVudC9wcm9qZWN0cy8xNTcvY292ZXIiLCJzdGF0dXMiOjUwM30seyJwYXRoIjoiL2FwaS92MS9maWxlcy8wZDg4NjRhNGZlOGY0NmMyYmY0ZmQ0OTAyZjFiMzY0Ni9jb250ZW50Iiwic3RhdHVzIjo0MDR9LHsicGF0aCI6Ii9hcGkvdjEvZmlsZXMvMGQ4ODY0YTRmZThmNDZjMmJmNGZkNDkwMmYxYjM2NDYvY29udGVudCIsImVycm9yIjoibmV0OjpFUlJfQUJPUlRFRCJ9LHsicGF0aCI6Ii9hcGkvdjEvZmlsZXMvMGQ4ODY0YTRmZThmNDZjMmJmNGZkNDkwMmYxYjM2NDYvY29udGVudCIsInN0YXR1cyI6NDA0fSx7InBhdGgiOiIvYXBpL3YxL2ZpbGVzLzBkODg2NGE0ZmU4ZjQ2YzJiZjRmZDQ5MDJmMWIzNjQ2L2NvbnRlbnQiLCJlcnJvciI6Im5ldDo6RVJSX0FCT1JURUQifSx7InBhdGgiOiIvYXBpL3YxL2ZpbGVzLzBkODg2NGE0ZmU4ZjQ2YzJiZjRmZDQ5MDJmMWIzNjQ2L2NvbnRlbnQiLCJzdGF0dXMiOjQwNH0seyJwYXRoIjoiL2FwaS92MS9maWxlcy8wZDg4NjRhNGZlOGY0NmMyYmY0ZmQ0OTAyZjFiMzY0Ni9jb250ZW50IiwiZXJyb3IiOiJuZXQ6OkVSUl9BQk9SVEVEIn0seyJwYXRoIjoiL2FwaS90cmFuL3YxL2NvbnRlbnQvcHJvamVjdHMiLCJlcnJvciI6Im5ldDo6RVJSX0FCT1JURUQifV0=" } ] } ], "status": "expected" } ], "id": "6358900fc7e9a59113e1-0620d79fdeab76b867de", "file": "role-permissions-live.spec.ts", "line": 112, "column": 1 }, { "title": "角色切换接口失败保留原身份与页面", "ok": true, "tags": [], "tests": [ { "timeout": 90000, "annotations": [], "expectedStatus": "passed", "projectId": "", "projectName": "", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 3666, "errors": [], "stdout": [], "stderr": [], "retry": 0, "startTime": "2026-09-06T04:02:08.032Z", "annotations": [], "attachments": [ { "name": "07-failed-switch-keeps-current-role", "contentType": "image/png", "path": "E:\\work\\edit_3d\\unreal_tran\\ute2e\\reports\\role-permissions-20260906\\test-results\\role-permissions-live-角色切换接口失败保留原身份与页面\\attachments\\07-failed-switch-keeps-current-role-316057e08801988273f288a039d5591aff4f6f31.png" }, { "name": "sanitized-api-failures", "contentType": "application/json", "body": "W3sicGF0aCI6Ii9hcGkvYXV0aC92MS9hdXRoL2FjdGl2ZS1yb2xlIiwic3RhdHVzIjo1MDN9XQ==" } ] } ], "status": "expected" } ], "id": "6358900fc7e9a59113e1-13060bac3e155c7abc43", "file": "role-permissions-live.spec.ts", "line": 135, "column": 1 }, { "title": "切换已提交但身份加载失败,不展示旧角色业务页面", "ok": true, "tags": [], "tests": [ { "timeout": 90000, "annotations": [], "expectedStatus": "passed", "projectId": "", "projectName": "", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 5116, "errors": [], "stdout": [], "stderr": [], "retry": 0, "startTime": "2026-09-06T04:02:11.711Z", "annotations": [], "attachments": [ { "name": "08-role-refresh-failure-clears-old-view", "contentType": "image/png", "path": "E:\\work\\edit_3d\\unreal_tran\\ute2e\\reports\\role-permissions-20260906\\test-results\\role-permissions-live-切换已提交但身份加载失败,不展示旧角色业务页面\\attachments\\08-role-refresh-failure-clears-old-view-849ba5b0acb05d9d8d115afcfda3644f0a4dc52b.png" }, { "name": "sanitized-api-failures", "contentType": "application/json", "body": "W3sicGF0aCI6Ii9hcGkvdHJhbi92MS9jb250ZW50L3Byb2plY3RzLzE1Ni9jb3ZlciIsInN0YXR1cyI6NTAzfSx7InBhdGgiOiIvYXBpL3RyYW4vdjEvY29udGVudC9wcm9qZWN0cy8xNTcvY292ZXIiLCJzdGF0dXMiOjUwM30seyJwYXRoIjoiL2FwaS92MS9maWxlcy8wZDg4NjRhNGZlOGY0NmMyYmY0ZmQ0OTAyZjFiMzY0Ni9jb250ZW50Iiwic3RhdHVzIjo0MDR9LHsicGF0aCI6Ii9hcGkvdjEvZmlsZXMvMGQ4ODY0YTRmZThmNDZjMmJmNGZkNDkwMmYxYjM2NDYvY29udGVudCIsImVycm9yIjoibmV0OjpFUlJfQUJPUlRFRCJ9LHsicGF0aCI6Ii9hcGkvYXV0aC92MS9hdXRoL21lIiwic3RhdHVzIjo1MDN9XQ==" } ] } ], "status": "expected" } ], "id": "6358900fc7e9a59113e1-be7827a263424b81f5ff", "file": "role-permissions-live.spec.ts", "line": 148, "column": 1 }, { "title": "训练编排未保存时,取消切换保留当前内容与身份", "ok": true, "tags": [], "tests": [ { "timeout": 90000, "annotations": [], "expectedStatus": "passed", "projectId": "", "projectName": "", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 7870, "errors": [], "stdout": [], "stderr": [], "retry": 0, "startTime": "2026-09-06T04:02:16.842Z", "annotations": [], "attachments": [ { "name": "09-unsaved-training-blocks-role-switch", "contentType": "image/png", "path": "E:\\work\\edit_3d\\unreal_tran\\ute2e\\reports\\role-permissions-20260906\\test-results\\role-permissions-live-训练编排未保存时,取消切换保留当前内容与身份\\attachments\\09-unsaved-training-blocks-role-switch-395fba2e761d73a715ad9e1bca03e75a60582a98.png" }, { "name": "sanitized-api-failures", "contentType": "application/json", "body": "W3sicGF0aCI6Ii9hcGkvdjEvZmlsZXMvMGQ4ODY0YTRmZThmNDZjMmJmNGZkNDkwMmYxYjM2NDYvY29udGVudCIsInN0YXR1cyI6NDA0fSx7InBhdGgiOiIvYXBpL3YxL2ZpbGVzLzBkODg2NGE0ZmU4ZjQ2YzJiZjRmZDQ5MDJmMWIzNjQ2L2NvbnRlbnQiLCJlcnJvciI6Im5ldDo6RVJSX0FCT1JURUQifSx7InBhdGgiOiIvYXBpL3RyYW4vdjEvY29udGVudC9wcm9qZWN0cy8xNjAvYXNzZXRzLzIwMzAvY29udGVudCIsInN0YXR1cyI6NTAzfSx7InBhdGgiOiIvYXBpL3RyYW4vdjEvY29udGVudC9wcm9qZWN0cy8xNjAvYXNzZXRzLzIwMzAvY29udGVudCIsInN0YXR1cyI6NTAzfV0=" } ] } ], "status": "expected" } ], "id": "6358900fc7e9a59113e1-03eef81e9aecf1e22039", "file": "role-permissions-live.spec.ts", "line": 160, "column": 1 }, { "title": "未保存训练的保存请求失败时,阻止提交角色切换", "ok": true, "tags": [], "tests": [ { "timeout": 90000, "annotations": [], "expectedStatus": "passed", "projectId": "", "projectName": "", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 6604, "errors": [], "stdout": [], "stderr": [], "retry": 0, "steps": [ { "title": "Expect \"poll toBe\"", "duration": 1 } ], "startTime": "2026-09-06T04:02:24.729Z", "annotations": [], "attachments": [ { "name": "09b-save-failure-blocks-role-switch", "contentType": "image/png", "path": "E:\\work\\edit_3d\\unreal_tran\\ute2e\\reports\\role-permissions-20260906\\test-results\\role-permissions-live-未保存训练的保存请求失败时,阻止提交角色切换\\attachments\\09b-save-failure-blocks-role-switch-c412151ca410dece5b637c443359b2baccb8aa42.png" }, { "name": "sanitized-api-failures", "contentType": "application/json", "body": "W3sicGF0aCI6Ii9hcGkvdjEvZmlsZXMvMGQ4ODY0YTRmZThmNDZjMmJmNGZkNDkwMmYxYjM2NDYvY29udGVudCIsInN0YXR1cyI6NDA0fSx7InBhdGgiOiIvYXBpL3YxL2ZpbGVzLzBkODg2NGE0ZmU4ZjQ2YzJiZjRmZDQ5MDJmMWIzNjQ2L2NvbnRlbnQiLCJlcnJvciI6Im5ldDo6RVJSX0FCT1JURUQifSx7InBhdGgiOiIvYXBpL3RyYW4vdjEvY29udGVudC9wcm9qZWN0cy8xNjAvYXNzZXRzLzIwMzAvY29udGVudCIsInN0YXR1cyI6NTAzfSx7InBhdGgiOiIvYXBpL3RyYW4vdjEvY29udGVudC9wcm9qZWN0cy8xNjAvYXNzZXRzLzIwMzAvY29udGVudCIsInN0YXR1cyI6NTAzfSx7InBhdGgiOiIvYXBpL3RyYW4vdjEvY29udGVudC9wcm9qZWN0cy8xNjQiLCJzdGF0dXMiOjUwM31d" } ] } ], "status": "expected" } ], "id": "6358900fc7e9a59113e1-27778e25c714dcc2239e", "file": "role-permissions-live.spec.ts", "line": 185, "column": 1 } ] }, { "title": "role-permissions-races.spec.ts", "file": "role-permissions-races.spec.ts", "column": 0, "line": 0, "specs": [ { "title": "权限加载乱序:关闭 A 后打开 B,A 的迟到响应不能覆盖 B", "ok": true, "tags": [], "tests": [ { "timeout": 90000, "annotations": [], "expectedStatus": "passed", "projectId": "", "projectName": "", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 6210, "errors": [], "stdout": [], "stderr": [], "retry": 0, "steps": [ { "title": "Expect \"poll toEqual\"", "duration": 437 } ], "startTime": "2026-09-06T04:02:31.380Z", "annotations": [], "attachments": [ { "name": "10-stale-permission-response-is-ignored", "contentType": "image/png", "path": "E:\\work\\edit_3d\\unreal_tran\\ute2e\\reports\\role-permissions-20260906\\test-results\\role-permissions-races-权限加载乱序:关闭-A-后打开-B,A-的迟到响应不能覆盖-B\\attachments\\10-stale-permission-response-is-ignored-bf5697b3945ce8d19e7fb514c307274a0c21551a.png" }, { "name": "10-stale-permission-response-is-ignored-evidence", "contentType": "application/json", "body": "ewogICJkZWxheWVkUm9sZSI6ICJydl9yZWFkZXJfMWU0M2UwNGUiLAogICJjdXJyZW50Um9sZSI6ICJydl9lZGl0b3JfMWU0M2UwNGUiLAogICJkZWxheWVkUGVybWlzc2lvbkNvZGVzIjogWwogICAgImNvbnRlbnQubW9kZWwiLAogICAgImRhc2hib2FyZC52aWV3IgogIF0sCiAgImRpc3BsYXllZFBlcm1pc3Npb25Db2RlcyI6IFsKICAgICJjb250ZW50Lm1vZGVsIiwKICAgICJjb250ZW50Lm1vZGVsLmNyZWF0ZSIsCiAgICAiY29udGVudC5tb2RlbC5kZWxldGUiLAogICAgImNvbnRlbnQubW9kZWwucHVibGlzaCIsCiAgICAiY29udGVudC5tb2RlbC51cGRhdGUiLAogICAgImRhc2hib2FyZC52aWV3IgogIF0sCiAgImJ1c2luZXNzV3JpdGVzIjogMAp9" } ] } ], "status": "expected" } ], "id": "d51c522ad2ea451f8c2b-14a99b2fcefe3f44dfbf", "file": "role-permissions-races.spec.ts", "line": 47, "column": 1 }, { "title": "保存授权期间禁止恢复,PUT 成功但列表刷新失败仍保留提交快照", "ok": true, "tags": [], "tests": [ { "timeout": 90000, "annotations": [], "expectedStatus": "passed", "projectId": "", "projectName": "", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 6511, "errors": [], "stdout": [], "stderr": [], "retry": 0, "steps": [ { "title": "Expect \"poll toEqual\"", "duration": 960 }, { "title": "Expect \"poll toEqual\"", "duration": 7 } ], "startTime": "2026-09-06T04:02:37.608Z", "annotations": [], "attachments": [ { "name": "11-permission-save-survives-list-refresh-failure", "contentType": "image/png", "path": "E:\\work\\edit_3d\\unreal_tran\\ute2e\\reports\\role-permissions-20260906\\test-results\\role-permissions-races-保存授权期间禁止恢复,PUT-成功但列表刷新失败仍保留提交快照\\attachments\\11-permission-save-survives-list-refresh-failure-8b98f81877c4a0dd52bd2b8bf7557f3304da6916.png" }, { "name": "11-permission-save-survives-list-refresh-failure-evidence", "contentType": "application/json", "body": "ewogICJ0ZW1wb3JhcnlSb2xlIjogInJ2X3JlYWRlcl8xZTQzZTA0ZSIsCiAgIm9yaWdpbmFsUGVybWlzc2lvbkNvZGVzIjogWwogICAgImNvbnRlbnQubW9kZWwiLAogICAgImRhc2hib2FyZC52aWV3IgogIF0sCiAgInN1Ym1pdHRlZFBlcm1pc3Npb25Db2RlcyI6IFsKICAgICJjb250ZW50Lm1vZGVsIiwKICAgICJjb250ZW50Lm1vZGVsLmNyZWF0ZSIsCiAgICAiZGFzaGJvYXJkLnZpZXciCiAgXSwKICAicmVhbFB1dFN0YXR1cyI6IDIwMCwKICAiaW5qZWN0ZWRMaXN0UmVmcmVzaFN0YXR1cyI6IDUwMywKICAicmVzZXREaXNhYmxlZFdoaWxlU2F2aW5nIjogdHJ1ZQp9" }, { "name": "11-temporary-reader-restored", "contentType": "application/json", "body": "eyJyb2xlQ29kZSI6InJ2X3JlYWRlcl8xZTQzZTA0ZSIsInJlc3RvcmVkIjp0cnVlLCJwZXJtaXNzaW9uQ29kZXMiOlsiY29udGVudC5tb2RlbCIsImRhc2hib2FyZC52aWV3Il19" } ] } ], "status": "expected" } ], "id": "d51c522ad2ea451f8c2b-cdb3c98b056833e4a102", "file": "role-permissions-races.spec.ts", "line": 102, "column": 1 } ] } ], "errors": [], "stats": { "startTime": "2026-09-06T04:01:43.840Z", "duration": 91148.27900000001, "expected": 9, "skipped": 0, "unexpected": 0, "flaky": 0 } }