mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-04-19 22:09:37 +00:00
## Summary Add integration contract tests (unit) and expanded Playwright coverage for subgraph promotion, hydration, navigation, and lifecycle edge behaviors. ## Changes - **What**: 22 unit/integration tests across 9 files covering promotion store sync, widget view lifecycle, input link resolution, pseudo-widget cache, navigation viewport restore, and subgraph operations. 13 Playwright E2E tests covering proxyWidgets hydration stability, promoted source removal cleanup, pseudo-preview unpack/remove, multi-link representative round-trip, nested promotion retarget, and navigation state on workflow switch. - **Helpers**: Added `isPseudoPreviewEntry`, `getPseudoPreviewWidgets`, `getNonPreviewPromotedWidgets` to promotedWidgets helper. Added `SubgraphHelper.getNodeCount()`. ## Review Focus - Test-only PR — no production code changes - Validates existing subgraph behaviors are covered by regression tests before further feature work - Phase 4 (unit/integration contracts) and Phase 5 (Playwright expansion) of the subgraph test coverage plan ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-10123-test-subgraph-integration-contracts-and-expanded-Playwright-coverage-3256d73d365081258023e3a763859e00) by [Unito](https://www.unito.io) --------- Co-authored-by: Amp <amp@ampcode.com> Co-authored-by: GitHub Action <action@github.com>
173 lines
4.1 KiB
JSON
173 lines
4.1 KiB
JSON
{
|
|
"id": "9efdcc44-6372-4b4a-b6f9-789c67f052e1",
|
|
"revision": 0,
|
|
"last_node_id": 4,
|
|
"last_link_id": 0,
|
|
"nodes": [
|
|
{
|
|
"id": 4,
|
|
"type": "f5d6b5f0-64e3-4d3e-bb28-d25d8a6c182f",
|
|
"pos": [689.0083557128902, 467.9999999999997],
|
|
"size": [431.8999938964844, 206.60000610351562],
|
|
"flags": {},
|
|
"order": 0,
|
|
"mode": 0,
|
|
"inputs": [],
|
|
"outputs": [],
|
|
"properties": {
|
|
"proxyWidgets": [["3", "text", "2"]]
|
|
},
|
|
"widgets_values": []
|
|
}
|
|
],
|
|
"links": [],
|
|
"groups": [],
|
|
"definitions": {
|
|
"subgraphs": [
|
|
{
|
|
"id": "9a3f232c-da11-4725-8927-b11e46d0cee4",
|
|
"version": 1,
|
|
"state": {
|
|
"lastGroupId": 0,
|
|
"lastNodeId": 4,
|
|
"lastLinkId": 0,
|
|
"lastRerouteId": 0
|
|
},
|
|
"revision": 0,
|
|
"config": {},
|
|
"name": "Inner Subgraph",
|
|
"inputNode": {
|
|
"id": -10,
|
|
"bounding": [330, 367, 120, 40]
|
|
},
|
|
"outputNode": {
|
|
"id": -20,
|
|
"bounding": [983, 367, 120, 40]
|
|
},
|
|
"inputs": [],
|
|
"outputs": [],
|
|
"widgets": [],
|
|
"nodes": [
|
|
{
|
|
"id": 1,
|
|
"type": "CLIPTextEncode",
|
|
"pos": [510, 166],
|
|
"size": [400, 200],
|
|
"flags": {},
|
|
"order": 0,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"localized_name": "clip",
|
|
"name": "clip",
|
|
"type": "CLIP",
|
|
"link": null
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"localized_name": "CONDITIONING",
|
|
"name": "CONDITIONING",
|
|
"type": "CONDITIONING",
|
|
"links": null
|
|
}
|
|
],
|
|
"properties": {
|
|
"Node name for S&R": "CLIPTextEncode"
|
|
},
|
|
"widgets_values": ["11111111111"]
|
|
},
|
|
{
|
|
"id": 2,
|
|
"type": "CLIPTextEncode",
|
|
"pos": [523, 438],
|
|
"size": [400, 200],
|
|
"flags": {},
|
|
"order": 1,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"localized_name": "clip",
|
|
"name": "clip",
|
|
"type": "CLIP",
|
|
"link": null
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"localized_name": "CONDITIONING",
|
|
"name": "CONDITIONING",
|
|
"type": "CONDITIONING",
|
|
"links": null
|
|
}
|
|
],
|
|
"properties": {
|
|
"Node name for S&R": "CLIPTextEncode"
|
|
},
|
|
"widgets_values": ["22222222222"]
|
|
}
|
|
],
|
|
"groups": [],
|
|
"links": [],
|
|
"extra": {}
|
|
},
|
|
{
|
|
"id": "f5d6b5f0-64e3-4d3e-bb28-d25d8a6c182f",
|
|
"version": 1,
|
|
"state": {
|
|
"lastGroupId": 0,
|
|
"lastNodeId": 4,
|
|
"lastLinkId": 0,
|
|
"lastRerouteId": 0
|
|
},
|
|
"revision": 0,
|
|
"config": {},
|
|
"name": "Outer Subgraph",
|
|
"inputNode": {
|
|
"id": -10,
|
|
"bounding": [467, 446, 120, 40]
|
|
},
|
|
"outputNode": {
|
|
"id": -20,
|
|
"bounding": [932, 446, 120, 40]
|
|
},
|
|
"inputs": [],
|
|
"outputs": [],
|
|
"widgets": [],
|
|
"nodes": [
|
|
{
|
|
"id": 3,
|
|
"type": "9a3f232c-da11-4725-8927-b11e46d0cee4",
|
|
"pos": [647, 389],
|
|
"size": [400, 200],
|
|
"flags": {},
|
|
"order": 0,
|
|
"mode": 0,
|
|
"inputs": [],
|
|
"outputs": [],
|
|
"properties": {
|
|
"proxyWidgets": [
|
|
["1", "text"],
|
|
["2", "text"]
|
|
]
|
|
},
|
|
"widgets_values": []
|
|
}
|
|
],
|
|
"groups": [],
|
|
"links": [],
|
|
"extra": {}
|
|
}
|
|
]
|
|
},
|
|
"config": {},
|
|
"extra": {
|
|
"ds": {
|
|
"scale": 2.0975,
|
|
"offset": [-581.4780189305006, -356.3000030517576]
|
|
},
|
|
"frontendVersion": "1.43.2"
|
|
},
|
|
"version": 0.4
|
|
}
|