1- import { parseComfyWorkflow } from '../../src/types/comfyWorkflow'
1+ import { validateComfyWorkflow } from '../../src/types/comfyWorkflow'
22import { defaultGraph } from '../../src/scripts/defaultGraph'
33import fs from 'fs'
44
@@ -9,101 +9,83 @@ describe('parseComfyWorkflow', () => {
99 fs . readdirSync ( WORKFLOW_DIR ) . forEach ( async ( file ) => {
1010 if ( file . endsWith ( '.json' ) ) {
1111 const data = fs . readFileSync ( `${ WORKFLOW_DIR } /${ file } ` , 'utf-8' )
12- await expect ( parseComfyWorkflow ( data ) ) . resolves . not . toThrow ( )
12+ expect ( await validateComfyWorkflow ( JSON . parse ( data ) ) ) . not . toBeNull ( )
1313 }
1414 } )
1515 } )
1616
1717 it ( 'workflow.nodes' , async ( ) => {
1818 const workflow = JSON . parse ( JSON . stringify ( defaultGraph ) )
1919 workflow . nodes = undefined
20- await expect ( parseComfyWorkflow ( JSON . stringify ( workflow ) ) ) . rejects . toThrow ( )
20+ expect ( await validateComfyWorkflow ( workflow ) ) . toBeNull ( )
2121
2222 workflow . nodes = null
23- await expect ( parseComfyWorkflow ( JSON . stringify ( workflow ) ) ) . rejects . toThrow ( )
23+ expect ( await validateComfyWorkflow ( workflow ) ) . toBeNull ( )
2424
2525 workflow . nodes = [ ]
26- await expect (
27- parseComfyWorkflow ( JSON . stringify ( workflow ) )
28- ) . resolves . not . toThrow ( )
26+ expect ( await validateComfyWorkflow ( workflow ) ) . not . toBeNull ( )
2927 } )
3028
3129 it ( 'workflow.version' , async ( ) => {
3230 const workflow = JSON . parse ( JSON . stringify ( defaultGraph ) )
3331 workflow . version = undefined
34- await expect ( parseComfyWorkflow ( JSON . stringify ( workflow ) ) ) . rejects . toThrow ( )
32+ expect ( await validateComfyWorkflow ( workflow ) ) . toBeNull ( )
3533
3634 workflow . version = '1.0.1' // Invalid format.
37- await expect ( parseComfyWorkflow ( JSON . stringify ( workflow ) ) ) . rejects . toThrow ( )
35+ expect ( await validateComfyWorkflow ( workflow ) ) . toBeNull ( )
3836
3937 workflow . version = 1
40- await expect (
41- parseComfyWorkflow ( JSON . stringify ( workflow ) )
42- ) . resolves . not . toThrow ( )
38+ expect ( await validateComfyWorkflow ( workflow ) ) . not . toBeNull ( )
4339 } )
4440
4541 it ( 'workflow.extra' , async ( ) => {
4642 const workflow = JSON . parse ( JSON . stringify ( defaultGraph ) )
4743 workflow . extra = undefined
48- await expect (
49- parseComfyWorkflow ( JSON . stringify ( workflow ) )
50- ) . resolves . not . toThrow ( )
44+ expect ( await validateComfyWorkflow ( workflow ) ) . not . toBeNull ( )
5145
5246 workflow . extra = null
53- await expect (
54- parseComfyWorkflow ( JSON . stringify ( workflow ) )
55- ) . resolves . not . toThrow ( )
47+ expect ( await validateComfyWorkflow ( workflow ) ) . not . toBeNull ( )
5648
5749 workflow . extra = { }
58- await expect (
59- parseComfyWorkflow ( JSON . stringify ( workflow ) )
60- ) . resolves . not . toThrow ( )
50+ expect ( await validateComfyWorkflow ( workflow ) ) . not . toBeNull ( )
6151
6252 workflow . extra = { foo : 'bar' } // Should accept extra fields.
63- await expect (
64- parseComfyWorkflow ( JSON . stringify ( workflow ) )
65- ) . resolves . not . toThrow ( )
53+ expect ( await validateComfyWorkflow ( workflow ) ) . not . toBeNull ( )
6654 } )
6755
6856 it ( 'workflow.nodes.pos' , async ( ) => {
6957 const workflow = JSON . parse ( JSON . stringify ( defaultGraph ) )
7058 workflow . nodes [ 0 ] . pos = [ 1 , 2 , 3 ]
71- await expect ( parseComfyWorkflow ( JSON . stringify ( workflow ) ) ) . rejects . toThrow ( )
59+ expect ( await validateComfyWorkflow ( workflow ) ) . toBeNull ( )
7260
7361 workflow . nodes [ 0 ] . pos = [ 1 , 2 ]
74- await expect (
75- parseComfyWorkflow ( JSON . stringify ( workflow ) )
76- ) . resolves . not . toThrow ( )
62+ expect ( await validateComfyWorkflow ( workflow ) ) . not . toBeNull ( )
7763
7864 // Should automatically transform the legacy format object to array.
7965 workflow . nodes [ 0 ] . pos = { '0' : 3 , '1' : 4 }
80- let parsedWorkflow = await parseComfyWorkflow ( JSON . stringify ( workflow ) )
81- expect ( parsedWorkflow . nodes [ 0 ] . pos ) . toEqual ( [ 3 , 4 ] )
66+ let validatedWorkflow = await validateComfyWorkflow ( workflow )
67+ expect ( validatedWorkflow . nodes [ 0 ] . pos ) . toEqual ( [ 3 , 4 ] )
8268
8369 workflow . nodes [ 0 ] . pos = { 0 : 3 , 1 : 4 }
84- parsedWorkflow = await parseComfyWorkflow ( JSON . stringify ( workflow ) )
85- expect ( parsedWorkflow . nodes [ 0 ] . pos ) . toEqual ( [ 3 , 4 ] )
70+ validatedWorkflow = await validateComfyWorkflow ( workflow )
71+ expect ( validatedWorkflow . nodes [ 0 ] . pos ) . toEqual ( [ 3 , 4 ] )
8672 } )
8773
8874 it ( 'workflow.nodes.widget_values' , async ( ) => {
8975 const workflow = JSON . parse ( JSON . stringify ( defaultGraph ) )
9076 workflow . nodes [ 0 ] . widgets_values = [ 'foo' , 'bar' ]
91- await expect (
92- parseComfyWorkflow ( JSON . stringify ( workflow ) )
93- ) . resolves . not . toThrow ( )
77+ expect ( await validateComfyWorkflow ( workflow ) ) . not . toBeNull ( )
9478
9579 workflow . nodes [ 0 ] . widgets_values = 'foo'
96- await expect ( parseComfyWorkflow ( JSON . stringify ( workflow ) ) ) . rejects . toThrow ( )
80+ expect ( await validateComfyWorkflow ( workflow ) ) . toBeNull ( )
9781
9882 workflow . nodes [ 0 ] . widgets_values = undefined
99- await expect (
100- parseComfyWorkflow ( JSON . stringify ( workflow ) )
101- ) . resolves . not . toThrow ( )
83+ expect ( await validateComfyWorkflow ( workflow ) ) . not . toBeNull ( )
10284
10385 // The object format of widgets_values is used by VHS nodes to perform
10486 // dynamic widgets display.
10587 workflow . nodes [ 0 ] . widgets_values = { foo : 'bar' }
106- const parsedWorkflow = await parseComfyWorkflow ( JSON . stringify ( workflow ) )
107- expect ( parsedWorkflow . nodes [ 0 ] . widgets_values ) . toEqual ( { foo : 'bar' } )
88+ const validatedWorkflow = await validateComfyWorkflow ( workflow )
89+ expect ( validatedWorkflow . nodes [ 0 ] . widgets_values ) . toEqual ( { foo : 'bar' } )
10890 } )
10991} )
0 commit comments