@@ -55,10 +55,9 @@ describe("SubgraphWidgetPromotion", () => {
5555 expect ( subgraphNode . widgets [ 0 ] . name ) . toBe ( "value" ) // Uses subgraph input name
5656 expect ( subgraphNode . widgets [ 0 ] . type ) . toBe ( "number" )
5757 expect ( subgraphNode . widgets [ 0 ] . value ) . toBe ( 42 )
58- expect ( subgraphNode . widgets [ 0 ] . parentSubgraphNode ) . toBe ( subgraphNode )
5958 } )
6059
61- it ( "should set parentSubgraphNode for all promoted widget types" , ( ) => {
60+ it ( "should promote all widget types" , ( ) => {
6261 const subgraph = createTestSubgraph ( {
6362 inputs : [
6463 { name : "numberInput" , type : "number" } ,
@@ -83,13 +82,9 @@ describe("SubgraphWidgetPromotion", () => {
8382
8483 const subgraphNode = createTestSubgraphNode ( subgraph )
8584
86- // All widgets should be promoted with parentSubgraphNode set
85+ // All widgets should be promoted
8786 expect ( subgraphNode . widgets ) . toHaveLength ( 3 )
8887
89- for ( const widget of subgraphNode . widgets ) {
90- expect ( widget . parentSubgraphNode ) . toBe ( subgraphNode )
91- }
92-
9388 // Check specific widget values
9489 expect ( subgraphNode . widgets [ 0 ] . value ) . toBe ( 100 )
9590 expect ( subgraphNode . widgets [ 1 ] . value ) . toBe ( "test" )
@@ -113,7 +108,6 @@ describe("SubgraphWidgetPromotion", () => {
113108 const promotedEvents = eventCapture . getEventsByType ( "widget-promoted" )
114109 expect ( promotedEvents ) . toHaveLength ( 1 )
115110 expect ( promotedEvents [ 0 ] . detail . widget ) . toBeDefined ( )
116- expect ( promotedEvents [ 0 ] . detail . widget . parentSubgraphNode ) . toBe ( subgraphNode )
117111 expect ( promotedEvents [ 0 ] . detail . subgraphNode ) . toBe ( subgraphNode )
118112
119113 eventCapture . cleanup ( )
@@ -192,58 +186,33 @@ describe("SubgraphWidgetPromotion", () => {
192186 expect ( subgraphNode . widgets ) . toHaveLength ( 2 )
193187 expect ( subgraphNode . widgets [ 0 ] . name ) . toBe ( "input1" )
194188 expect ( subgraphNode . widgets [ 0 ] . value ) . toBe ( 10 )
195- expect ( subgraphNode . widgets [ 0 ] . parentSubgraphNode ) . toBe ( subgraphNode )
196189
197190 expect ( subgraphNode . widgets [ 1 ] . name ) . toBe ( "input2" )
198191 expect ( subgraphNode . widgets [ 1 ] . value ) . toBe ( "hello" )
199- expect ( subgraphNode . widgets [ 1 ] . parentSubgraphNode ) . toBe ( subgraphNode )
200192 } )
201193
202- it ( "should clean up parentSubgraphNode on node removal " , ( ) => {
194+ it ( "should fire widget-demoted events when node is removed " , ( ) => {
203195 const subgraph = createTestSubgraph ( {
204196 inputs : [ { name : "input" , type : "number" } ] ,
205197 } )
206198
207199 const { node } = createNodeWithWidget ( "Test Node" )
208200 const subgraphNode = setupPromotedWidget ( subgraph , node )
209- const promotedWidget = subgraphNode . widgets [ 0 ]
210201
211- expect ( promotedWidget . parentSubgraphNode ) . toBe ( subgraphNode )
202+ expect ( subgraphNode . widgets ) . toHaveLength ( 1 )
212203
213204 const eventCapture = createEventCapture ( subgraph . events , [ "widget-demoted" ] )
214205
215206 // Remove the subgraph node
216207 subgraphNode . onRemoved ( )
217208
218- // parentSubgraphNode should be cleared
219- expect ( promotedWidget . parentSubgraphNode ) . toBeUndefined ( )
220-
221209 // Should fire demoted events for all widgets
222210 const demotedEvents = eventCapture . getEventsByType ( "widget-demoted" )
223211 expect ( demotedEvents ) . toHaveLength ( 1 )
224212
225213 eventCapture . cleanup ( )
226214 } )
227215
228- it ( "should handle DOM widgets with parentSubgraphNode" , ( ) => {
229- const subgraph = createTestSubgraph ( {
230- inputs : [ { name : "domInput" , type : "custom" } ] ,
231- } )
232-
233- const { node, widget } = createNodeWithWidget ( "DOM Node" , "custom" , "custom value" , "custom" )
234-
235- // Make it a DOM widget
236- widget . element = document . createElement ( "div" )
237-
238- const subgraphNode = setupPromotedWidget ( subgraph , node )
239-
240- // DOM widget should be promoted with parentSubgraphNode
241- expect ( subgraphNode . widgets ) . toHaveLength ( 1 )
242- const promotedWidget = subgraphNode . widgets [ 0 ]
243- expect ( promotedWidget . parentSubgraphNode ) . toBe ( subgraphNode )
244- expect ( promotedWidget . name ) . toBe ( "domInput" )
245- } )
246-
247216 it ( "should not promote widget if input is not connected" , ( ) => {
248217 const subgraph = createTestSubgraph ( {
249218 inputs : [ { name : "input" , type : "number" } ] ,
0 commit comments