Update tests for schema v1 (#289)

This commit is contained in:
filtered
2024-11-09 03:12:09 +11:00
committed by GitHub
parent 0f1c54081f
commit 3e28ec5981
3 changed files with 347 additions and 24 deletions

View File

@@ -24,6 +24,11 @@ describe.concurrent("LGraph", () => {
const basicLGraph = new LGraph(basicSerialisableGraph)
expect(basicLGraph).toMatchSnapshot("basicLGraph")
})
lgTest("supports schema v0.4 graphs", ({ expect, oldSchemaGraph }) => {
const fromOldSchema = new LGraph(oldSchemaGraph)
expect(fromOldSchema).toMatchSnapshot("oldSchemaGraph")
})
})
describe.concurrent("Legacy LGraph Compatibility Layer", () => {

View File

@@ -261,10 +261,6 @@ LGraph {
"globaltime": 0,
"inputs": {},
"iteration": 0,
"lastGroupId": 123,
"last_link_id": 0,
"last_node_id": 1,
"last_reroute_id": undefined,
"last_update_time": 0,
"links": Map {},
"list_of_graphcanvas": null,
@@ -274,6 +270,12 @@ LGraph {
"outputs": {},
"runningtime": 0,
"starttime": 0,
"state": {
"lastGroupId": 123,
"lastLinkId": 0,
"lastNodeId": 1,
"lastRerouteId": 0,
},
"status": 1,
"vars": {},
"version": 1,
@@ -305,10 +307,6 @@ LGraph {
"globaltime": 0,
"inputs": {},
"iteration": 0,
"lastGroupId": -1,
"last_link_id": 0,
"last_node_id": 0,
"last_reroute_id": undefined,
"last_update_time": 0,
"links": Map {},
"list_of_graphcanvas": null,
@@ -318,8 +316,296 @@ LGraph {
"outputs": {},
"runningtime": 0,
"starttime": 0,
"state": {
"lastGroupId": 0,
"lastLinkId": 0,
"lastNodeId": 0,
"lastRerouteId": 0,
},
"status": 1,
"vars": {},
"version": 1,
}
`;
exports[`LGraph > supports schema v0.4 graphs > oldSchemaGraph 1`] = `
LGraph {
"_groups": [
LGraphGroup {
"_bounding": Float32Array [
20,
20,
1,
3,
],
"_children": Set {},
"_nodes": [],
"_pos": Float32Array [
20,
20,
],
"_size": Float32Array [
1,
3,
],
"color": "#6029aa",
"flags": {},
"font": undefined,
"font_size": 14,
"graph": [Circular],
"id": 123,
"isPointInside": [Function],
"selected": undefined,
"setDirtyCanvas": [Function],
"title": "A group to test with",
},
],
"_input_nodes": undefined,
"_last_trigger_time": undefined,
"_links": Map {},
"_nodes": [
LGraphNode {
"_collapsed_width": undefined,
"_level": undefined,
"_pos": Float32Array [
10,
10,
],
"_posSize": Float32Array [
10,
10,
140,
60,
],
"_relative_id": undefined,
"_shape": undefined,
"_size": Float32Array [
140,
60,
],
"action_call": undefined,
"action_triggered": undefined,
"badgePosition": "top-left",
"badges": [],
"bgcolor": undefined,
"block_delete": undefined,
"boxcolor": undefined,
"clip_area": undefined,
"clonable": undefined,
"color": undefined,
"connections": [],
"console": undefined,
"exec_version": undefined,
"execute_triggered": undefined,
"flags": {},
"gotFocusAt": undefined,
"graph": [Circular],
"has_errors": true,
"horizontal": undefined,
"id": 1,
"ignore_remove": undefined,
"inputs": [],
"last_serialization": {
"id": 1,
},
"locked": undefined,
"lostFocusAt": undefined,
"mode": undefined,
"mouseOver": undefined,
"optional_inputs": undefined,
"optional_outputs": undefined,
"order": 0,
"outputs": [],
"properties": {},
"properties_info": [],
"redraw_on_mouse": undefined,
"removable": undefined,
"resizable": undefined,
"selected": undefined,
"serialize_widgets": undefined,
"showAdvanced": undefined,
"skip_subgraph_button": undefined,
"subgraph": undefined,
"title": undefined,
"type": null,
"widgets": undefined,
"widgets_start_y": undefined,
"widgets_up": undefined,
},
],
"_nodes_by_id": {
"1": LGraphNode {
"_collapsed_width": undefined,
"_level": undefined,
"_pos": Float32Array [
10,
10,
],
"_posSize": Float32Array [
10,
10,
140,
60,
],
"_relative_id": undefined,
"_shape": undefined,
"_size": Float32Array [
140,
60,
],
"action_call": undefined,
"action_triggered": undefined,
"badgePosition": "top-left",
"badges": [],
"bgcolor": undefined,
"block_delete": undefined,
"boxcolor": undefined,
"clip_area": undefined,
"clonable": undefined,
"color": undefined,
"connections": [],
"console": undefined,
"exec_version": undefined,
"execute_triggered": undefined,
"flags": {},
"gotFocusAt": undefined,
"graph": [Circular],
"has_errors": true,
"horizontal": undefined,
"id": 1,
"ignore_remove": undefined,
"inputs": [],
"last_serialization": {
"id": 1,
},
"locked": undefined,
"lostFocusAt": undefined,
"mode": undefined,
"mouseOver": undefined,
"optional_inputs": undefined,
"optional_outputs": undefined,
"order": 0,
"outputs": [],
"properties": {},
"properties_info": [],
"redraw_on_mouse": undefined,
"removable": undefined,
"resizable": undefined,
"selected": undefined,
"serialize_widgets": undefined,
"showAdvanced": undefined,
"skip_subgraph_button": undefined,
"subgraph": undefined,
"title": undefined,
"type": null,
"widgets": undefined,
"widgets_start_y": undefined,
"widgets_up": undefined,
},
},
"_nodes_executable": [],
"_nodes_in_order": [
LGraphNode {
"_collapsed_width": undefined,
"_level": undefined,
"_pos": Float32Array [
10,
10,
],
"_posSize": Float32Array [
10,
10,
140,
60,
],
"_relative_id": undefined,
"_shape": undefined,
"_size": Float32Array [
140,
60,
],
"action_call": undefined,
"action_triggered": undefined,
"badgePosition": "top-left",
"badges": [],
"bgcolor": undefined,
"block_delete": undefined,
"boxcolor": undefined,
"clip_area": undefined,
"clonable": undefined,
"color": undefined,
"connections": [],
"console": undefined,
"exec_version": undefined,
"execute_triggered": undefined,
"flags": {},
"gotFocusAt": undefined,
"graph": [Circular],
"has_errors": true,
"horizontal": undefined,
"id": 1,
"ignore_remove": undefined,
"inputs": [],
"last_serialization": {
"id": 1,
},
"locked": undefined,
"lostFocusAt": undefined,
"mode": undefined,
"mouseOver": undefined,
"optional_inputs": undefined,
"optional_outputs": undefined,
"order": 0,
"outputs": [],
"properties": {},
"properties_info": [],
"redraw_on_mouse": undefined,
"removable": undefined,
"resizable": undefined,
"selected": undefined,
"serialize_widgets": undefined,
"showAdvanced": undefined,
"skip_subgraph_button": undefined,
"subgraph": undefined,
"title": undefined,
"type": null,
"widgets": undefined,
"widgets_start_y": undefined,
"widgets_up": undefined,
},
],
"_subgraph_node": undefined,
"_version": 3,
"catch_errors": true,
"config": {},
"elapsed_time": 0.01,
"errors_in_execution": undefined,
"execution_time": undefined,
"execution_timer_id": undefined,
"extra": {},
"filter": undefined,
"fixedtime": 0,
"fixedtime_lapse": 0.01,
"globaltime": 0,
"inputs": {},
"iteration": 0,
"last_update_time": 0,
"links": Map {},
"list_of_graphcanvas": null,
"nodes_actioning": [],
"nodes_executedAction": [],
"nodes_executing": [],
"outputs": {},
"runningtime": 0,
"starttime": 0,
"state": {
"lastGroupId": 123,
"lastLinkId": 0,
"lastNodeId": 1,
"lastRerouteId": 0,
},
"status": 1,
"vars": {},
"version": 0.4,
}
`;

View File

@@ -1,19 +1,9 @@
import { test } from "vitest"
import type { ISerialisedGraph } from "../src/types/serialisation"
import type { ISerialisedGraph, SerialisableGraph } from "../src/types/serialisation"
import { LGraph } from "@/LGraph"
const minimalSerialisableGraph: ISerialisedGraph = {
version: 1,
config: {},
last_node_id: 0,
last_link_id: 0,
nodes: [],
links: [],
groups: [],
}
const basicSerialisableGraph: ISerialisedGraph = {
version: 1,
const oldSchemaGraph: ISerialisedGraph = {
version: 0.4,
config: {},
last_node_id: 0,
last_link_id: 0,
@@ -34,14 +24,55 @@ const basicSerialisableGraph: ISerialisedGraph = {
links: [],
}
const minimalSerialisableGraph: SerialisableGraph = {
version: 1,
config: {},
state: {
lastNodeId: 0,
lastLinkId: 0,
lastGroupId: 0,
lastRerouteId: 0
},
nodes: [],
links: [],
groups: [],
}
const basicSerialisableGraph: SerialisableGraph = {
version: 1,
config: {},
state: {
lastNodeId: 0,
lastLinkId: 0,
lastGroupId: 0,
lastRerouteId: 0
},
groups: [
{
id: 123,
bounding: [20, 20, 1, 3],
color: "#6029aa",
font_size: 14,
title: "A group to test with",
},
],
nodes: [
{
id: 1,
},
],
links: [],
}
interface LitegraphFixtures {
minimalGraph: LGraph
minimalSerialisableGraph: ISerialisedGraph
basicSerialisableGraph: ISerialisedGraph
minimalSerialisableGraph: SerialisableGraph
basicSerialisableGraph: SerialisableGraph
oldSchemaGraph: ISerialisedGraph
}
export const lgTest = test.extend<LitegraphFixtures>({
minimalGraph: async ({}, use) => {
minimalGraph: async ({ }, use) => {
// Before each test function
const serialisable = structuredClone(minimalSerialisableGraph)
const lGraph = new LGraph(serialisable)
@@ -53,4 +84,5 @@ export const lgTest = test.extend<LitegraphFixtures>({
},
basicSerialisableGraph: structuredClone(basicSerialisableGraph),
minimalSerialisableGraph: structuredClone(minimalSerialisableGraph),
oldSchemaGraph: structuredClone(oldSchemaGraph),
})