diff --git a/tests-ui/README.md b/docs/testing/README.md
similarity index 67%
rename from tests-ui/README.md
rename to docs/testing/README.md
index bbb247b91..4f66a8390 100644
--- a/tests-ui/README.md
+++ b/docs/testing/README.md
@@ -12,12 +12,17 @@ Documentation for unit tests is organized into three guides:
## Testing Structure
-The ComfyUI Frontend project uses a mixed approach to unit test organization:
+The ComfyUI Frontend project uses **colocated tests** - test files are placed alongside their source files:
-- **Component Tests**: Located directly alongside their components with a `.spec.ts` extension
-- **Unit Tests**: Located in the `tests-ui/tests/` directory
-- **Store Tests**: Located in the `tests-ui/tests/store/` directory
-- **Browser Tests**: These are located in the `browser_tests/` directory. There is a dedicated README in the `browser_tests/` directory, so it will not be covered here.
+- **Component Tests**: Located directly alongside their components (e.g., `MyComponent.test.ts` next to `MyComponent.vue`)
+- **Unit Tests**: Located alongside their source files (e.g., `myUtil.test.ts` next to `myUtil.ts`)
+- **Store Tests**: Located in `src/stores/` alongside their store files
+- **Browser Tests**: Located in the `browser_tests/` directory (see dedicated README there)
+
+### Test File Naming
+
+- Use `.test.ts` extension for test files
+- Name tests after their source file: `sourceFile.test.ts`
## Test Frameworks and Libraries
@@ -35,8 +40,11 @@ To run the tests locally:
# Run unit tests
pnpm test:unit
+# Run a specific test file
+pnpm test:unit -- src/path/to/file.test.ts
+
# Run unit tests in watch mode
pnpm test:unit -- --watch
```
-Refer to the specific guides for more detailed information on each testing type.
\ No newline at end of file
+Refer to the specific guides for more detailed information on each testing type.
diff --git a/tests-ui/component-testing.md b/docs/testing/component-testing.md
similarity index 100%
rename from tests-ui/component-testing.md
rename to docs/testing/component-testing.md
diff --git a/tests-ui/store-testing.md b/docs/testing/store-testing.md
similarity index 100%
rename from tests-ui/store-testing.md
rename to docs/testing/store-testing.md
diff --git a/tests-ui/unit-testing.md b/docs/testing/unit-testing.md
similarity index 100%
rename from tests-ui/unit-testing.md
rename to docs/testing/unit-testing.md
diff --git a/tests-ui/tests/utils/formatUtil.test.ts b/packages/shared-frontend-utils/src/formatUtil.test.ts
similarity index 98%
rename from tests-ui/tests/utils/formatUtil.test.ts
rename to packages/shared-frontend-utils/src/formatUtil.test.ts
index 4ab0a7bd2..ac15a78b1 100644
--- a/tests-ui/tests/utils/formatUtil.test.ts
+++ b/packages/shared-frontend-utils/src/formatUtil.test.ts
@@ -1,6 +1,6 @@
import { describe, expect, it } from 'vitest'
-import { getMediaTypeFromFilename, truncateFilename } from '@/utils/formatUtil'
+import { getMediaTypeFromFilename, truncateFilename } from './formatUtil'
describe('formatUtil', () => {
describe('truncateFilename', () => {
diff --git a/tests-ui/tests/base/common/downloadUtil.test.ts b/src/base/common/downloadUtil.test.ts
similarity index 100%
rename from tests-ui/tests/base/common/downloadUtil.test.ts
rename to src/base/common/downloadUtil.test.ts
diff --git a/tests-ui/tests/base/credits/comfyCredits.test.ts b/src/base/credits/comfyCredits.test.ts
similarity index 100%
rename from tests-ui/tests/base/credits/comfyCredits.test.ts
rename to src/base/credits/comfyCredits.test.ts
diff --git a/tests-ui/tests/components/TopMenuSection.test.ts b/src/components/TopMenuSection.test.ts
similarity index 100%
rename from tests-ui/tests/components/TopMenuSection.test.ts
rename to src/components/TopMenuSection.test.ts
diff --git a/tests-ui/tests/components/bottomPanel/EssentialsPanel.test.ts b/src/components/bottomPanel/tabs/shortcuts/EssentialsPanel.test.ts
similarity index 100%
rename from tests-ui/tests/components/bottomPanel/EssentialsPanel.test.ts
rename to src/components/bottomPanel/tabs/shortcuts/EssentialsPanel.test.ts
diff --git a/tests-ui/tests/components/bottomPanel/ShortcutsList.spec.ts b/src/components/bottomPanel/tabs/shortcuts/ShortcutsList.test.ts
similarity index 100%
rename from tests-ui/tests/components/bottomPanel/ShortcutsList.spec.ts
rename to src/components/bottomPanel/tabs/shortcuts/ShortcutsList.test.ts
diff --git a/tests-ui/tests/components/bottomPanel/tabs/terminal/BaseTerminal.test.ts b/src/components/bottomPanel/tabs/terminal/BaseTerminal.test.ts
similarity index 100%
rename from tests-ui/tests/components/bottomPanel/tabs/terminal/BaseTerminal.test.ts
rename to src/components/bottomPanel/tabs/terminal/BaseTerminal.test.ts
diff --git a/tests-ui/tests/components/dialog/content/MissingCoreNodesMessage.test.ts b/src/components/dialog/content/MissingCoreNodesMessage.test.ts
similarity index 100%
rename from tests-ui/tests/components/dialog/content/MissingCoreNodesMessage.test.ts
rename to src/components/dialog/content/MissingCoreNodesMessage.test.ts
diff --git a/tests-ui/tests/components/dialog/content/credit/CreditTopUpOption.test.ts b/src/components/dialog/content/credit/CreditTopUpOption.test.ts
similarity index 100%
rename from tests-ui/tests/components/dialog/content/credit/CreditTopUpOption.test.ts
rename to src/components/dialog/content/credit/CreditTopUpOption.test.ts
diff --git a/tests-ui/tests/components/graph/ZoomControlsModal.test.ts b/src/components/graph/modals/ZoomControlsModal.test.ts
similarity index 100%
rename from tests-ui/tests/components/graph/ZoomControlsModal.test.ts
rename to src/components/graph/modals/ZoomControlsModal.test.ts
diff --git a/tests-ui/tests/components/queue/JobGroupsList.test.ts b/src/components/queue/job/JobGroupsList.test.ts
similarity index 97%
rename from tests-ui/tests/components/queue/JobGroupsList.test.ts
rename to src/components/queue/job/JobGroupsList.test.ts
index b9635eca8..b5679f276 100644
--- a/tests-ui/tests/components/queue/JobGroupsList.test.ts
+++ b/src/components/queue/job/JobGroupsList.test.ts
@@ -22,7 +22,6 @@ const QueueJobItemStub = defineComponent({
runningNodeName: { type: String, default: undefined },
activeDetailsId: { type: String, default: null }
},
- emits: ['cancel', 'delete', 'menu', 'view', 'details-enter', 'details-leave'],
template: '
'
})
diff --git a/tests-ui/tests/components/queue/useJobErrorReporting.test.ts b/src/components/queue/job/useJobErrorReporting.test.ts
similarity index 100%
rename from tests-ui/tests/components/queue/useJobErrorReporting.test.ts
rename to src/components/queue/job/useJobErrorReporting.test.ts
diff --git a/tests-ui/tests/components/sidebar/nodeLibrary/NodeHelpPage.test.ts b/src/components/sidebar/tabs/nodeLibrary/NodeHelpPage.test.ts
similarity index 100%
rename from tests-ui/tests/components/sidebar/nodeLibrary/NodeHelpPage.test.ts
rename to src/components/sidebar/tabs/nodeLibrary/NodeHelpPage.test.ts
diff --git a/tests-ui/tests/composables/canvas/useSelectedLiteGraphItems.test.ts b/src/composables/canvas/useSelectedLiteGraphItems.test.ts
similarity index 98%
rename from tests-ui/tests/composables/canvas/useSelectedLiteGraphItems.test.ts
rename to src/composables/canvas/useSelectedLiteGraphItems.test.ts
index 303dddc08..23e1e8dd3 100644
--- a/tests-ui/tests/composables/canvas/useSelectedLiteGraphItems.test.ts
+++ b/src/composables/canvas/useSelectedLiteGraphItems.test.ts
@@ -2,12 +2,8 @@ import { createPinia, setActivePinia } from 'pinia'
import { beforeEach, describe, expect, it, vi } from 'vitest'
import { useSelectedLiteGraphItems } from '@/composables/canvas/useSelectedLiteGraphItems'
-import type { LGraphNode } from '@/lib/litegraph/src/litegraph'
-import {
- LGraphEventMode,
- type Positionable,
- Reroute
-} from '@/lib/litegraph/src/litegraph'
+import type { LGraphNode, Positionable } from '@/lib/litegraph/src/litegraph'
+import { LGraphEventMode, Reroute } from '@/lib/litegraph/src/litegraph'
import { useCanvasStore } from '@/renderer/core/canvas/canvasStore'
import { app } from '@/scripts/app'
diff --git a/tests-ui/tests/composables/functional/useChainCallback.test.ts b/src/composables/functional/useChainCallback.test.ts
similarity index 100%
rename from tests-ui/tests/composables/functional/useChainCallback.test.ts
rename to src/composables/functional/useChainCallback.test.ts
diff --git a/tests-ui/tests/composables/graph/useSelectionState.test.ts b/src/composables/graph/useSelectionState.test.ts
similarity index 100%
rename from tests-ui/tests/composables/graph/useSelectionState.test.ts
rename to src/composables/graph/useSelectionState.test.ts
diff --git a/tests-ui/tests/composables/maskeditor/useCanvasHistory.test.ts b/src/composables/maskeditor/useCanvasHistory.test.ts
similarity index 100%
rename from tests-ui/tests/composables/maskeditor/useCanvasHistory.test.ts
rename to src/composables/maskeditor/useCanvasHistory.test.ts
diff --git a/tests-ui/tests/composables/maskeditor/useCanvasManager.test.ts b/src/composables/maskeditor/useCanvasManager.test.ts
similarity index 100%
rename from tests-ui/tests/composables/maskeditor/useCanvasManager.test.ts
rename to src/composables/maskeditor/useCanvasManager.test.ts
diff --git a/tests-ui/tests/composables/maskeditor/useCanvasTools.test.ts b/src/composables/maskeditor/useCanvasTools.test.ts
similarity index 100%
rename from tests-ui/tests/composables/maskeditor/useCanvasTools.test.ts
rename to src/composables/maskeditor/useCanvasTools.test.ts
diff --git a/tests-ui/tests/composables/maskeditor/useImageLoader.test.ts b/src/composables/maskeditor/useImageLoader.test.ts
similarity index 100%
rename from tests-ui/tests/composables/maskeditor/useImageLoader.test.ts
rename to src/composables/maskeditor/useImageLoader.test.ts
diff --git a/tests-ui/tests/composables/node/useNodePricing.test.ts b/src/composables/node/useNodePricing.test.ts
similarity index 100%
rename from tests-ui/tests/composables/node/useNodePricing.test.ts
rename to src/composables/node/useNodePricing.test.ts
diff --git a/tests-ui/tests/composables/node/useCreditsBadge.test.ts b/src/composables/node/usePriceBadge.test.ts
similarity index 95%
rename from tests-ui/tests/composables/node/useCreditsBadge.test.ts
rename to src/composables/node/usePriceBadge.test.ts
index eb894566a..d646dd962 100644
--- a/tests-ui/tests/composables/node/useCreditsBadge.test.ts
+++ b/src/composables/node/usePriceBadge.test.ts
@@ -2,7 +2,7 @@ import { describe, expect, vi } from 'vitest'
import { LGraphNode } from '@/lib/litegraph/src/litegraph'
-import { subgraphTest } from '../../litegraph/subgraph/fixtures/subgraphFixtures'
+import { subgraphTest } from '@/lib/litegraph/src/subgraph/__fixtures__/subgraphFixtures'
import { usePriceBadge } from '@/composables/node/usePriceBadge'
diff --git a/tests-ui/tests/composables/useWatchWidget.test.ts b/src/composables/node/useWatchWidget.test.ts
similarity index 100%
rename from tests-ui/tests/composables/useWatchWidget.test.ts
rename to src/composables/node/useWatchWidget.test.ts
diff --git a/tests-ui/tests/composables/useCompletionSummary.test.ts b/src/composables/queue/useCompletionSummary.test.ts
similarity index 100%
rename from tests-ui/tests/composables/useCompletionSummary.test.ts
rename to src/composables/queue/useCompletionSummary.test.ts
diff --git a/tests-ui/tests/composables/useJobList.test.ts b/src/composables/queue/useJobList.test.ts
similarity index 100%
rename from tests-ui/tests/composables/useJobList.test.ts
rename to src/composables/queue/useJobList.test.ts
diff --git a/tests-ui/tests/composables/useJobMenu.test.ts b/src/composables/queue/useJobMenu.test.ts
similarity index 99%
rename from tests-ui/tests/composables/useJobMenu.test.ts
rename to src/composables/queue/useJobMenu.test.ts
index 0bd876951..ff4100918 100644
--- a/tests-ui/tests/composables/useJobMenu.test.ts
+++ b/src/composables/queue/useJobMenu.test.ts
@@ -284,7 +284,7 @@ describe('useJobMenu', () => {
await nextTick()
const entry = findActionEntry(jobMenuEntries.value, 'report-error')
- entry?.onClick?.()
+ void entry?.onClick?.()
expect(dialogServiceMock.showExecutionErrorDialog).toHaveBeenCalledWith(
error
@@ -460,7 +460,7 @@ describe('useJobMenu', () => {
await nextTick()
const entry = findActionEntry(jobMenuEntries.value, 'download')
- entry?.onClick?.()
+ void entry?.onClick?.()
expect(downloadFileMock).toHaveBeenCalledWith('https://asset')
})
@@ -471,7 +471,7 @@ describe('useJobMenu', () => {
await nextTick()
const entry = findActionEntry(jobMenuEntries.value, 'download')
- entry?.onClick?.()
+ void entry?.onClick?.()
expect(downloadFileMock).not.toHaveBeenCalled()
})
diff --git a/tests-ui/tests/composables/useQueueProgress.test.ts b/src/composables/queue/useQueueProgress.test.ts
similarity index 100%
rename from tests-ui/tests/composables/useQueueProgress.test.ts
rename to src/composables/queue/useQueueProgress.test.ts
diff --git a/tests-ui/tests/composables/useResultGallery.test.ts b/src/composables/queue/useResultGallery.test.ts
similarity index 100%
rename from tests-ui/tests/composables/useResultGallery.test.ts
rename to src/composables/queue/useResultGallery.test.ts
diff --git a/tests-ui/tests/composables/BrowserTabTitle.test.ts b/src/composables/useBrowserTabTitle.test.ts
similarity index 100%
rename from tests-ui/tests/composables/BrowserTabTitle.test.ts
rename to src/composables/useBrowserTabTitle.test.ts
diff --git a/tests-ui/tests/composables/useCachedRequest.test.ts b/src/composables/useCachedRequest.test.ts
similarity index 100%
rename from tests-ui/tests/composables/useCachedRequest.test.ts
rename to src/composables/useCachedRequest.test.ts
diff --git a/tests-ui/tests/composables/clipboard.test.ts b/src/composables/useCopy.test.ts
similarity index 100%
rename from tests-ui/tests/composables/clipboard.test.ts
rename to src/composables/useCopy.test.ts
diff --git a/tests-ui/tests/composables/useCoreCommands.test.ts b/src/composables/useCoreCommands.test.ts
similarity index 98%
rename from tests-ui/tests/composables/useCoreCommands.test.ts
rename to src/composables/useCoreCommands.test.ts
index 3c86faa5a..82e3439bc 100644
--- a/tests-ui/tests/composables/useCoreCommands.test.ts
+++ b/src/composables/useCoreCommands.test.ts
@@ -9,8 +9,8 @@ import { app } from '@/scripts/app'
// Mock vue-i18n for useExternalLink
const mockLocale = ref('en')
-vi.mock('vue-i18n', async (importOriginal) => {
- const actual = await importOriginal()
+vi.mock('vue-i18n', async () => {
+ const actual = await vi.importActual('vue-i18n')
return {
...actual,
useI18n: vi.fn(() => ({
diff --git a/tests-ui/tests/composables/useErrorHandling.test.ts b/src/composables/useErrorHandling.test.ts
similarity index 100%
rename from tests-ui/tests/composables/useErrorHandling.test.ts
rename to src/composables/useErrorHandling.test.ts
diff --git a/tests-ui/tests/composables/useExternalLink.test.ts b/src/composables/useExternalLink.test.ts
similarity index 100%
rename from tests-ui/tests/composables/useExternalLink.test.ts
rename to src/composables/useExternalLink.test.ts
diff --git a/tests-ui/tests/composables/useFeatureFlags.test.ts b/src/composables/useFeatureFlags.test.ts
similarity index 100%
rename from tests-ui/tests/composables/useFeatureFlags.test.ts
rename to src/composables/useFeatureFlags.test.ts
diff --git a/tests-ui/tests/composables/useLoad3d.test.ts b/src/composables/useLoad3d.test.ts
similarity index 100%
rename from tests-ui/tests/composables/useLoad3d.test.ts
rename to src/composables/useLoad3d.test.ts
diff --git a/tests-ui/tests/composables/useLoad3dDrag.test.ts b/src/composables/useLoad3dDrag.test.ts
similarity index 100%
rename from tests-ui/tests/composables/useLoad3dDrag.test.ts
rename to src/composables/useLoad3dDrag.test.ts
diff --git a/tests-ui/tests/composables/useLoad3dViewer.test.ts b/src/composables/useLoad3dViewer.test.ts
similarity index 100%
rename from tests-ui/tests/composables/useLoad3dViewer.test.ts
rename to src/composables/useLoad3dViewer.test.ts
diff --git a/tests-ui/tests/composables/useServerLogs.test.ts b/src/composables/useServerLogs.test.ts
similarity index 100%
rename from tests-ui/tests/composables/useServerLogs.test.ts
rename to src/composables/useServerLogs.test.ts
diff --git a/tests-ui/tests/composables/useTemplateFiltering.test.ts b/src/composables/useTemplateFiltering.test.ts
similarity index 100%
rename from tests-ui/tests/composables/useTemplateFiltering.test.ts
rename to src/composables/useTemplateFiltering.test.ts
diff --git a/tests-ui/tests/widgets/proxyWidget.test.ts b/src/core/graph/subgraph/proxyWidget.test.ts
similarity index 98%
rename from tests-ui/tests/widgets/proxyWidget.test.ts
rename to src/core/graph/subgraph/proxyWidget.test.ts
index 940ee66f0..c0d41d23e 100644
--- a/tests-ui/tests/widgets/proxyWidget.test.ts
+++ b/src/core/graph/subgraph/proxyWidget.test.ts
@@ -8,7 +8,7 @@ import type { LGraphCanvas, SubgraphNode } from '@/lib/litegraph/src/litegraph'
import {
createTestSubgraph,
createTestSubgraphNode
-} from '../litegraph/subgraph/fixtures/subgraphHelpers'
+} from '@/lib/litegraph/src/subgraph/__fixtures__/subgraphHelpers'
const canvasEl: Partial = { addEventListener() {} }
const canvas: Partial = { canvas: canvasEl as HTMLCanvasElement }
diff --git a/tests-ui/tests/widgets/dynamicCombo.test.ts b/src/core/graph/widgets/dynamicWidgets.test.ts
similarity index 100%
rename from tests-ui/tests/widgets/dynamicCombo.test.ts
rename to src/core/graph/widgets/dynamicWidgets.test.ts
diff --git a/tests-ui/tests/extensions/contextMenuExtensionName.test.ts b/src/extensions/core/contextMenuFilter.name.test.ts
similarity index 100%
rename from tests-ui/tests/extensions/contextMenuExtensionName.test.ts
rename to src/extensions/core/contextMenuFilter.name.test.ts
diff --git a/tests-ui/tests/extensions/contextMenuExtension.test.ts b/src/extensions/core/contextMenuFilter.test.ts
similarity index 100%
rename from tests-ui/tests/extensions/contextMenuExtension.test.ts
rename to src/extensions/core/contextMenuFilter.test.ts
diff --git a/tests-ui/tests/dynamicPrompts.test.ts b/src/extensions/core/dynamicPrompts.test.ts
similarity index 100%
rename from tests-ui/tests/dynamicPrompts.test.ts
rename to src/extensions/core/dynamicPrompts.test.ts
diff --git a/tests-ui/tests/litegraph/utils/CanvasPointer.deviceDetection.test.ts b/src/lib/litegraph/src/CanvasPointer.deviceDetection.test.ts
similarity index 100%
rename from tests-ui/tests/litegraph/utils/CanvasPointer.deviceDetection.test.ts
rename to src/lib/litegraph/src/CanvasPointer.deviceDetection.test.ts
diff --git a/tests-ui/tests/litegraph/core/ConfigureGraph.test.ts b/src/lib/litegraph/src/LGraph.configure.test.ts
similarity index 92%
rename from tests-ui/tests/litegraph/core/ConfigureGraph.test.ts
rename to src/lib/litegraph/src/LGraph.configure.test.ts
index 935ec1f28..2401dfe30 100644
--- a/tests-ui/tests/litegraph/core/ConfigureGraph.test.ts
+++ b/src/lib/litegraph/src/LGraph.configure.test.ts
@@ -3,7 +3,7 @@ import { describe } from 'vitest'
import { LGraph } from '@/lib/litegraph/src/litegraph'
-import { dirtyTest } from './fixtures/testExtensions'
+import { dirtyTest } from './__fixtures__/testExtensions'
describe.skip('LGraph configure()', () => {
dirtyTest(
diff --git a/tests-ui/tests/litegraph/core/LGraph_constructor.test.ts b/src/lib/litegraph/src/LGraph.constructor.test.ts
similarity index 90%
rename from tests-ui/tests/litegraph/core/LGraph_constructor.test.ts
rename to src/lib/litegraph/src/LGraph.constructor.test.ts
index 62720b9c0..4e214cae5 100644
--- a/tests-ui/tests/litegraph/core/LGraph_constructor.test.ts
+++ b/src/lib/litegraph/src/LGraph.constructor.test.ts
@@ -3,7 +3,7 @@ import { describe } from 'vitest'
import { LGraph } from '@/lib/litegraph/src/litegraph'
-import { dirtyTest } from './fixtures/testExtensions'
+import { dirtyTest } from './__fixtures__/testExtensions'
describe.skip('LGraph (constructor only)', () => {
dirtyTest(
diff --git a/tests-ui/tests/litegraph/core/serialise.test.ts b/src/lib/litegraph/src/LGraph.serialise.test.ts
similarity index 94%
rename from tests-ui/tests/litegraph/core/serialise.test.ts
rename to src/lib/litegraph/src/LGraph.serialise.test.ts
index 629c50e98..3eee37c6a 100644
--- a/tests-ui/tests/litegraph/core/serialise.test.ts
+++ b/src/lib/litegraph/src/LGraph.serialise.test.ts
@@ -3,7 +3,7 @@ import { describe } from 'vitest'
import { LGraph, LGraphGroup, LGraphNode } from '@/lib/litegraph/src/litegraph'
import type { ISerialisedGraph } from '@/lib/litegraph/src/litegraph'
-import { test } from './fixtures/testExtensions'
+import { test } from './__fixtures__/testExtensions'
describe('LGraph Serialisation', () => {
test('can (de)serialise node / group titles', ({ expect, minimalGraph }) => {
diff --git a/tests-ui/tests/litegraph/core/LGraph.test.ts b/src/lib/litegraph/src/LGraph.test.ts
similarity index 86%
rename from tests-ui/tests/litegraph/core/LGraph.test.ts
rename to src/lib/litegraph/src/LGraph.test.ts
index 61d3da734..1c2f38da2 100644
--- a/tests-ui/tests/litegraph/core/LGraph.test.ts
+++ b/src/lib/litegraph/src/LGraph.test.ts
@@ -1,10 +1,43 @@
-import { describe } from 'vitest'
+import { describe, expect, it } from 'vitest'
import { LGraph, LGraphNode, LiteGraph } from '@/lib/litegraph/src/litegraph'
-import { test } from './fixtures/testExtensions'
+import { test } from './__fixtures__/testExtensions'
+
+function swapNodes(nodes: LGraphNode[]) {
+ const firstNode = nodes[0]
+ const lastNode = nodes[nodes.length - 1]
+ nodes[0] = lastNode
+ nodes[nodes.length - 1] = firstNode
+ return nodes
+}
+
+function createGraph(...nodes: LGraphNode[]) {
+ const graph = new LGraph()
+ nodes.forEach((node) => graph.add(node))
+ return graph
+}
+
+class DummyNode extends LGraphNode {
+ constructor() {
+ super('dummy')
+ }
+}
describe('LGraph', () => {
+ it('should serialize deterministic node order', async () => {
+ LiteGraph.registerNodeType('dummy', DummyNode)
+ const node1 = new DummyNode()
+ const node2 = new DummyNode()
+ const graph = createGraph(node1, node2)
+
+ const result1 = graph.serialize({ sortNodes: true })
+ expect(result1.nodes).not.toHaveLength(0)
+ graph._nodes = swapNodes(graph.nodes)
+ const result2 = graph.serialize({ sortNodes: true })
+
+ expect(result1).toEqual(result2)
+ })
test('can be instantiated', ({ expect }) => {
// @ts-expect-error Intentional - extra holds any / all consumer data that should be serialised
const graph = new LGraph({ extra: 'TestGraph' })
diff --git a/tests-ui/tests/litegraph/core/LGraphButton.test.ts b/src/lib/litegraph/src/LGraphButton.test.ts
similarity index 98%
rename from tests-ui/tests/litegraph/core/LGraphButton.test.ts
rename to src/lib/litegraph/src/LGraphButton.test.ts
index 18830d8a4..83d17abc7 100644
--- a/tests-ui/tests/litegraph/core/LGraphButton.test.ts
+++ b/src/lib/litegraph/src/LGraphButton.test.ts
@@ -1,7 +1,6 @@
import { describe, expect, it, vi } from 'vitest'
-import { LGraphButton } from '@/lib/litegraph/src/litegraph'
-import { Rectangle } from '@/lib/litegraph/src/litegraph'
+import { LGraphButton, Rectangle } from '@/lib/litegraph/src/litegraph'
describe('LGraphButton', () => {
describe('Constructor', () => {
diff --git a/tests-ui/tests/litegraph/core/LGraphCanvas.titleButtons.test.ts b/src/lib/litegraph/src/LGraphCanvas.titleButtons.test.ts
similarity index 98%
rename from tests-ui/tests/litegraph/core/LGraphCanvas.titleButtons.test.ts
rename to src/lib/litegraph/src/LGraphCanvas.titleButtons.test.ts
index f02fe005e..5c814f95e 100644
--- a/tests-ui/tests/litegraph/core/LGraphCanvas.titleButtons.test.ts
+++ b/src/lib/litegraph/src/LGraphCanvas.titleButtons.test.ts
@@ -1,7 +1,10 @@
import { beforeEach, describe, expect, it, vi } from 'vitest'
-import { LGraphCanvas } from '@/lib/litegraph/src/litegraph'
-import { LGraphNode, LiteGraph } from '@/lib/litegraph/src/litegraph'
+import {
+ LGraphCanvas,
+ LGraphNode,
+ LiteGraph
+} from '@/lib/litegraph/src/litegraph'
describe('LGraphCanvas Title Button Rendering', () => {
let canvas: LGraphCanvas
diff --git a/tests-ui/tests/litegraph/core/LGraphGroup.test.ts b/src/lib/litegraph/src/LGraphGroup.test.ts
similarity index 84%
rename from tests-ui/tests/litegraph/core/LGraphGroup.test.ts
rename to src/lib/litegraph/src/LGraphGroup.test.ts
index a50b33256..589e5a958 100644
--- a/tests-ui/tests/litegraph/core/LGraphGroup.test.ts
+++ b/src/lib/litegraph/src/LGraphGroup.test.ts
@@ -2,7 +2,7 @@ import { describe, expect } from 'vitest'
import { LGraphGroup } from '@/lib/litegraph/src/litegraph'
-import { test } from './fixtures/testExtensions'
+import { test } from './__fixtures__/testExtensions'
describe('LGraphGroup', () => {
test('serializes to the existing format', () => {
diff --git a/tests-ui/tests/litegraph/core/LGraphNode.resize.test.ts b/src/lib/litegraph/src/LGraphNode.resize.test.ts
similarity index 98%
rename from tests-ui/tests/litegraph/core/LGraphNode.resize.test.ts
rename to src/lib/litegraph/src/LGraphNode.resize.test.ts
index eb967fcab..b3f971eed 100644
--- a/tests-ui/tests/litegraph/core/LGraphNode.resize.test.ts
+++ b/src/lib/litegraph/src/LGraphNode.resize.test.ts
@@ -2,7 +2,7 @@ import { beforeEach, describe, expect } from 'vitest'
import { LGraphNode, LiteGraph } from '@/lib/litegraph/src/litegraph'
-import { test } from './fixtures/testExtensions'
+import { test } from './__fixtures__/testExtensions'
describe('LGraphNode resize functionality', () => {
let node: LGraphNode
diff --git a/tests-ui/tests/litegraph/core/LGraphNode.test.ts b/src/lib/litegraph/src/LGraphNode.test.ts
similarity index 99%
rename from tests-ui/tests/litegraph/core/LGraphNode.test.ts
rename to src/lib/litegraph/src/LGraphNode.test.ts
index a08a228f2..6451e7dfe 100644
--- a/tests-ui/tests/litegraph/core/LGraphNode.test.ts
+++ b/src/lib/litegraph/src/LGraphNode.test.ts
@@ -13,7 +13,7 @@ import {
NodeOutputSlot
} from '@/lib/litegraph/src/litegraph'
-import { test } from './fixtures/testExtensions'
+import { test } from './__fixtures__/testExtensions'
function getMockISerialisedNode(
data: Partial
diff --git a/tests-ui/tests/litegraph/core/LGraphNode.titleButtons.test.ts b/src/lib/litegraph/src/LGraphNode.titleButtons.test.ts
similarity index 98%
rename from tests-ui/tests/litegraph/core/LGraphNode.titleButtons.test.ts
rename to src/lib/litegraph/src/LGraphNode.titleButtons.test.ts
index 6599d6562..1c645cfd9 100644
--- a/tests-ui/tests/litegraph/core/LGraphNode.titleButtons.test.ts
+++ b/src/lib/litegraph/src/LGraphNode.titleButtons.test.ts
@@ -1,8 +1,7 @@
import { describe, expect, it, vi } from 'vitest'
-import { LGraphButton } from '@/lib/litegraph/src/litegraph'
import type { LGraphCanvas } from '@/lib/litegraph/src/litegraph'
-import { LGraphNode } from '@/lib/litegraph/src/litegraph'
+import { LGraphButton, LGraphNode } from '@/lib/litegraph/src/litegraph'
describe('LGraphNode Title Buttons', () => {
describe('addTitleButton', () => {
diff --git a/tests-ui/tests/litegraph/core/LGraphNode.widgetOrder.test.ts b/src/lib/litegraph/src/LGraphNode.widgetOrder.test.ts
similarity index 100%
rename from tests-ui/tests/litegraph/core/LGraphNode.widgetOrder.test.ts
rename to src/lib/litegraph/src/LGraphNode.widgetOrder.test.ts
diff --git a/tests-ui/tests/litegraph/core/LGraphNodeProperties.test.ts b/src/lib/litegraph/src/LGraphNodeProperties.test.ts
similarity index 100%
rename from tests-ui/tests/litegraph/core/LGraphNodeProperties.test.ts
rename to src/lib/litegraph/src/LGraphNodeProperties.test.ts
diff --git a/tests-ui/tests/litegraph/core/LLink.test.ts b/src/lib/litegraph/src/LLink.test.ts
similarity index 89%
rename from tests-ui/tests/litegraph/core/LLink.test.ts
rename to src/lib/litegraph/src/LLink.test.ts
index a1cdfbea0..fc3f5918b 100644
--- a/tests-ui/tests/litegraph/core/LLink.test.ts
+++ b/src/lib/litegraph/src/LLink.test.ts
@@ -2,7 +2,7 @@ import { describe, expect } from 'vitest'
import { LLink } from '@/lib/litegraph/src/litegraph'
-import { test } from './fixtures/testExtensions'
+import { test } from './__fixtures__/testExtensions'
describe('LLink', () => {
test('matches previous snapshot', () => {
diff --git a/tests-ui/tests/litegraph/core/fixtures/assets/floatingBranch.json b/src/lib/litegraph/src/__fixtures__/assets/floatingBranch.json
similarity index 100%
rename from tests-ui/tests/litegraph/core/fixtures/assets/floatingBranch.json
rename to src/lib/litegraph/src/__fixtures__/assets/floatingBranch.json
diff --git a/tests-ui/tests/litegraph/core/fixtures/assets/floatingLink.json b/src/lib/litegraph/src/__fixtures__/assets/floatingLink.json
similarity index 100%
rename from tests-ui/tests/litegraph/core/fixtures/assets/floatingLink.json
rename to src/lib/litegraph/src/__fixtures__/assets/floatingLink.json
diff --git a/tests-ui/tests/litegraph/core/fixtures/assets/linkedNodes.json b/src/lib/litegraph/src/__fixtures__/assets/linkedNodes.json
similarity index 100%
rename from tests-ui/tests/litegraph/core/fixtures/assets/linkedNodes.json
rename to src/lib/litegraph/src/__fixtures__/assets/linkedNodes.json
diff --git a/tests-ui/tests/litegraph/core/fixtures/assets/reroutesComplex.json b/src/lib/litegraph/src/__fixtures__/assets/reroutesComplex.json
similarity index 100%
rename from tests-ui/tests/litegraph/core/fixtures/assets/reroutesComplex.json
rename to src/lib/litegraph/src/__fixtures__/assets/reroutesComplex.json
diff --git a/tests-ui/tests/litegraph/core/fixtures/assets/testGraphs.ts b/src/lib/litegraph/src/__fixtures__/assets/testGraphs.ts
similarity index 100%
rename from tests-ui/tests/litegraph/core/fixtures/assets/testGraphs.ts
rename to src/lib/litegraph/src/__fixtures__/assets/testGraphs.ts
diff --git a/tests-ui/tests/litegraph/core/fixtures/testExtensions.ts b/src/lib/litegraph/src/__fixtures__/testExtensions.ts
similarity index 93%
rename from tests-ui/tests/litegraph/core/fixtures/testExtensions.ts
rename to src/lib/litegraph/src/__fixtures__/testExtensions.ts
index 300b23814..6aff55438 100644
--- a/tests-ui/tests/litegraph/core/fixtures/testExtensions.ts
+++ b/src/lib/litegraph/src/__fixtures__/testExtensions.ts
@@ -1,3 +1,4 @@
+// oxlint-disable no-empty-pattern
import { test as baseTest } from 'vitest'
import { LGraph } from '@/lib/litegraph/src/LGraph'
@@ -33,7 +34,6 @@ interface DirtyFixtures {
}
export const test = baseTest.extend({
- // eslint-disable-next-line no-empty-pattern
minimalGraph: async ({}, use) => {
// Before each test function
const serialisable = structuredClone(minimalSerialisableGraph)
@@ -48,7 +48,7 @@ export const test = baseTest.extend({
floatingLink as unknown as ISerialisedGraph
),
linkedNodesGraph: structuredClone(linkedNodes as unknown as ISerialisedGraph),
- // eslint-disable-next-line no-empty-pattern
+
floatingBranchGraph: async ({}, use) => {
const cloned = structuredClone(
floatingBranch as unknown as ISerialisedGraph
@@ -56,7 +56,7 @@ export const test = baseTest.extend({
const graph = new LGraph(cloned)
await use(graph)
},
- // eslint-disable-next-line no-empty-pattern
+
reroutesComplexGraph: async ({}, use) => {
const cloned = structuredClone(
reroutesComplex as unknown as ISerialisedGraph
@@ -68,7 +68,6 @@ export const test = baseTest.extend({
/** Test that use {@link DirtyFixtures}. One test per file. */
export const dirtyTest = test.extend({
- // eslint-disable-next-line no-empty-pattern
basicSerialisableGraph: async ({}, use) => {
if (!basicSerialisableGraph.nodes) throw new Error('Invalid test object')
diff --git a/tests-ui/tests/litegraph/core/__snapshots__/LGraph.test.ts.snap b/src/lib/litegraph/src/__snapshots__/LGraph.test.ts.snap
similarity index 100%
rename from tests-ui/tests/litegraph/core/__snapshots__/LGraph.test.ts.snap
rename to src/lib/litegraph/src/__snapshots__/LGraph.test.ts.snap
diff --git a/tests-ui/tests/litegraph/core/__snapshots__/LGraphGroup.test.ts.snap b/src/lib/litegraph/src/__snapshots__/LGraphGroup.test.ts.snap
similarity index 100%
rename from tests-ui/tests/litegraph/core/__snapshots__/LGraphGroup.test.ts.snap
rename to src/lib/litegraph/src/__snapshots__/LGraphGroup.test.ts.snap
diff --git a/tests-ui/tests/litegraph/core/__snapshots__/LLink.test.ts.snap b/src/lib/litegraph/src/__snapshots__/LLink.test.ts.snap
similarity index 100%
rename from tests-ui/tests/litegraph/core/__snapshots__/LLink.test.ts.snap
rename to src/lib/litegraph/src/__snapshots__/LLink.test.ts.snap
diff --git a/tests-ui/tests/litegraph/core/__snapshots__/litegraph.test.ts.snap b/src/lib/litegraph/src/__snapshots__/litegraph.test.ts.snap
similarity index 100%
rename from tests-ui/tests/litegraph/core/__snapshots__/litegraph.test.ts.snap
rename to src/lib/litegraph/src/__snapshots__/litegraph.test.ts.snap
diff --git a/tests-ui/tests/litegraph/core/LinkConnector.test.ts b/src/lib/litegraph/src/canvas/LinkConnector.core.test.ts
similarity index 99%
rename from tests-ui/tests/litegraph/core/LinkConnector.test.ts
rename to src/lib/litegraph/src/canvas/LinkConnector.core.test.ts
index 486ee4f78..65b468940 100644
--- a/tests-ui/tests/litegraph/core/LinkConnector.test.ts
+++ b/src/lib/litegraph/src/canvas/LinkConnector.core.test.ts
@@ -1,3 +1,4 @@
+// oxlint-disable no-empty-pattern
import { test as baseTest, describe, expect, vi } from 'vitest'
import type {
diff --git a/tests-ui/tests/litegraph/core/LinkConnector.integration.test.ts b/src/lib/litegraph/src/canvas/LinkConnector.integration.test.ts
similarity index 99%
rename from tests-ui/tests/litegraph/core/LinkConnector.integration.test.ts
rename to src/lib/litegraph/src/canvas/LinkConnector.integration.test.ts
index e026ba097..3c4368c5a 100644
--- a/tests-ui/tests/litegraph/core/LinkConnector.integration.test.ts
+++ b/src/lib/litegraph/src/canvas/LinkConnector.integration.test.ts
@@ -1,3 +1,4 @@
+// oxlint-disable no-empty-pattern
// TODO: Fix these tests after migration
import { afterEach, describe, expect, vi } from 'vitest'
@@ -9,7 +10,7 @@ import type {
} from '@/lib/litegraph/src/litegraph'
import { LGraphNode, LLink, LinkConnector } from '@/lib/litegraph/src/litegraph'
-import { test as baseTest } from './fixtures/testExtensions'
+import { test as baseTest } from '../__fixtures__/testExtensions'
import type { ConnectingLink } from '@/lib/litegraph/src/interfaces'
interface TestContext {
@@ -1077,6 +1078,7 @@ describe('LinkConnector Integration', () => {
const originalParentChain = LLink.getReroutes(graph, toReroute)
const sortAndJoin = (numbers: Iterable) =>
+ // oxlint-disable-next-line require-array-sort-compare
[...numbers].sort().join(',')
const hasIdenticalLinks = (a: Reroute, b: Reroute) =>
sortAndJoin(a.linkIds) === sortAndJoin(b.linkIds) &&
diff --git a/tests-ui/tests/litegraph/canvas/LinkConnector.test.ts b/src/lib/litegraph/src/canvas/LinkConnector.test.ts
similarity index 100%
rename from tests-ui/tests/litegraph/canvas/LinkConnector.test.ts
rename to src/lib/litegraph/src/canvas/LinkConnector.test.ts
diff --git a/tests-ui/tests/litegraph/canvas/LinkConnectorSubgraphInputValidation.test.ts b/src/lib/litegraph/src/canvas/LinkConnectorSubgraphInputValidation.test.ts
similarity index 99%
rename from tests-ui/tests/litegraph/canvas/LinkConnectorSubgraphInputValidation.test.ts
rename to src/lib/litegraph/src/canvas/LinkConnectorSubgraphInputValidation.test.ts
index 072a0fb4c..3d9740c4f 100644
--- a/tests-ui/tests/litegraph/canvas/LinkConnectorSubgraphInputValidation.test.ts
+++ b/src/lib/litegraph/src/canvas/LinkConnectorSubgraphInputValidation.test.ts
@@ -12,7 +12,7 @@ import { ToInputFromIoNodeLink } from '@/lib/litegraph/src/canvas/ToInputFromIoN
import type { NodeInputSlot } from '@/lib/litegraph/src/litegraph'
import { LinkDirection } from '@/lib/litegraph/src/types/globalEnums'
-import { createTestSubgraph } from '../subgraph/fixtures/subgraphHelpers'
+import { createTestSubgraph } from '../subgraph/__fixtures__/subgraphHelpers'
describe('LinkConnector SubgraphInput connection validation', () => {
let connector: LinkConnector
diff --git a/tests-ui/tests/litegraph/core/ToOutputRenderLink.test.ts b/src/lib/litegraph/src/canvas/ToOutputRenderLink.test.ts
similarity index 94%
rename from tests-ui/tests/litegraph/core/ToOutputRenderLink.test.ts
rename to src/lib/litegraph/src/canvas/ToOutputRenderLink.test.ts
index 7899f8924..73bfec657 100644
--- a/tests-ui/tests/litegraph/core/ToOutputRenderLink.test.ts
+++ b/src/lib/litegraph/src/canvas/ToOutputRenderLink.test.ts
@@ -1,7 +1,9 @@
import { describe, expect, it, vi } from 'vitest'
-import { ToOutputRenderLink } from '@/lib/litegraph/src/litegraph'
-import { LinkDirection } from '@/lib/litegraph/src/litegraph'
+import {
+ LinkDirection,
+ ToOutputRenderLink
+} from '@/lib/litegraph/src/litegraph'
describe('ToOutputRenderLink', () => {
describe('connectToOutput', () => {
diff --git a/tests-ui/tests/litegraph/core/contextMenuCompat.test.ts b/src/lib/litegraph/src/contextMenuCompat.test.ts
similarity index 100%
rename from tests-ui/tests/litegraph/core/contextMenuCompat.test.ts
rename to src/lib/litegraph/src/contextMenuCompat.test.ts
diff --git a/tests-ui/tests/litegraph/infrastructure/Rectangle.resize.test.ts b/src/lib/litegraph/src/infrastructure/Rectangle.resize.test.ts
similarity index 100%
rename from tests-ui/tests/litegraph/infrastructure/Rectangle.resize.test.ts
rename to src/lib/litegraph/src/infrastructure/Rectangle.resize.test.ts
diff --git a/tests-ui/tests/litegraph/infrastructure/Rectangle.test.ts b/src/lib/litegraph/src/infrastructure/Rectangle.test.ts
similarity index 99%
rename from tests-ui/tests/litegraph/infrastructure/Rectangle.test.ts
rename to src/lib/litegraph/src/infrastructure/Rectangle.test.ts
index b89545845..b4fc56091 100644
--- a/tests-ui/tests/litegraph/infrastructure/Rectangle.test.ts
+++ b/src/lib/litegraph/src/infrastructure/Rectangle.test.ts
@@ -1,3 +1,4 @@
+// oxlint-disable no-empty-pattern
import { test as baseTest, describe, expect, vi } from 'vitest'
import { Rectangle } from '@/lib/litegraph/src/litegraph'
@@ -6,7 +7,6 @@ import type { Point, Size } from '@/lib/litegraph/src/litegraph'
// TODO: If there's a common test context, use it here
// For now, we'll define a simple context for Rectangle tests
const test = baseTest.extend<{ rect: Rectangle }>({
- // eslint-disable-next-line no-empty-pattern
rect: async ({}, use) => {
await use(new Rectangle())
}
diff --git a/tests-ui/tests/litegraph/core/litegraph.test.ts b/src/lib/litegraph/src/litegraph.test.ts
similarity index 87%
rename from tests-ui/tests/litegraph/core/litegraph.test.ts
rename to src/lib/litegraph/src/litegraph.test.ts
index cc58100fa..936b82f6e 100644
--- a/tests-ui/tests/litegraph/core/litegraph.test.ts
+++ b/src/lib/litegraph/src/litegraph.test.ts
@@ -1,10 +1,13 @@
import { clamp } from 'es-toolkit/compat'
import { beforeEach, describe, expect, vi } from 'vitest'
-import { LiteGraphGlobal } from '@/lib/litegraph/src/litegraph'
-import { LGraphCanvas, LiteGraph } from '@/lib/litegraph/src/litegraph'
+import {
+ LiteGraphGlobal,
+ LGraphCanvas,
+ LiteGraph
+} from '@/lib/litegraph/src/litegraph'
-import { test } from './fixtures/testExtensions'
+import { test } from './__fixtures__/testExtensions'
describe('Litegraph module', () => {
test('contains a global export', ({ expect }) => {
diff --git a/tests-ui/tests/litegraph/core/measure.test.ts b/src/lib/litegraph/src/measure.test.ts
similarity index 100%
rename from tests-ui/tests/litegraph/core/measure.test.ts
rename to src/lib/litegraph/src/measure.test.ts
diff --git a/tests-ui/tests/litegraph/core/NodeSlot.test.ts b/src/lib/litegraph/src/node/NodeSlot.test.ts
similarity index 100%
rename from tests-ui/tests/litegraph/core/NodeSlot.test.ts
rename to src/lib/litegraph/src/node/NodeSlot.test.ts
diff --git a/tests-ui/tests/litegraph/subgraph/ExecutableNodeDTO.test.ts b/src/lib/litegraph/src/subgraph/ExecutableNodeDTO.test.ts
similarity index 98%
rename from tests-ui/tests/litegraph/subgraph/ExecutableNodeDTO.test.ts
rename to src/lib/litegraph/src/subgraph/ExecutableNodeDTO.test.ts
index 4418d9422..003fa59e1 100644
--- a/tests-ui/tests/litegraph/subgraph/ExecutableNodeDTO.test.ts
+++ b/src/lib/litegraph/src/subgraph/ExecutableNodeDTO.test.ts
@@ -1,14 +1,17 @@
// TODO: Fix these tests after migration
import { describe, expect, it, vi } from 'vitest'
-import { LGraph, LGraphNode } from '@/lib/litegraph/src/litegraph'
-import { ExecutableNodeDTO } from '@/lib/litegraph/src/litegraph'
+import {
+ LGraph,
+ LGraphNode,
+ ExecutableNodeDTO
+} from '@/lib/litegraph/src/litegraph'
import {
createNestedSubgraphs,
createTestSubgraph,
createTestSubgraphNode
-} from './fixtures/subgraphHelpers'
+} from './__fixtures__/subgraphHelpers'
describe.skip('ExecutableNodeDTO Creation', () => {
it('should create DTO from regular node', () => {
diff --git a/tests-ui/tests/litegraph/subgraph/Subgraph.test.ts b/src/lib/litegraph/src/subgraph/Subgraph.test.ts
similarity index 97%
rename from tests-ui/tests/litegraph/subgraph/Subgraph.test.ts
rename to src/lib/litegraph/src/subgraph/Subgraph.test.ts
index 773bcca00..4266a6073 100644
--- a/tests-ui/tests/litegraph/subgraph/Subgraph.test.ts
+++ b/src/lib/litegraph/src/subgraph/Subgraph.test.ts
@@ -8,16 +8,19 @@
*/
import { describe, expect, it } from 'vitest'
-import { RecursionError } from '@/lib/litegraph/src/litegraph'
-import { LGraph, Subgraph } from '@/lib/litegraph/src/litegraph'
-import { createUuidv4 } from '@/lib/litegraph/src/litegraph'
+import {
+ createUuidv4,
+ RecursionError,
+ LGraph,
+ Subgraph
+} from '@/lib/litegraph/src/litegraph'
-import { subgraphTest } from './fixtures/subgraphFixtures'
+import { subgraphTest } from './__fixtures__/subgraphFixtures'
import {
assertSubgraphStructure,
createTestSubgraph,
createTestSubgraphData
-} from './fixtures/subgraphHelpers'
+} from './__fixtures__/subgraphHelpers'
describe.skip('Subgraph Construction', () => {
it('should create a subgraph with minimal data', () => {
diff --git a/tests-ui/tests/litegraph/subgraph/SubgraphConversion.test.ts b/src/lib/litegraph/src/subgraph/SubgraphConversion.test.ts
similarity index 98%
rename from tests-ui/tests/litegraph/subgraph/SubgraphConversion.test.ts
rename to src/lib/litegraph/src/subgraph/SubgraphConversion.test.ts
index f978710ae..4e5cbae35 100644
--- a/tests-ui/tests/litegraph/subgraph/SubgraphConversion.test.ts
+++ b/src/lib/litegraph/src/subgraph/SubgraphConversion.test.ts
@@ -1,18 +1,17 @@
// TODO: Fix these tests after migration
import { assert, describe, expect, it } from 'vitest'
-import type { LGraph } from '@/lib/litegraph/src/litegraph'
import {
- type ISlotType,
LGraphGroup,
LGraphNode,
LiteGraph
} from '@/lib/litegraph/src/litegraph'
+import type { LGraph, ISlotType } from '@/lib/litegraph/src/litegraph'
import {
createTestSubgraph,
createTestSubgraphNode
-} from './fixtures/subgraphHelpers'
+} from './__fixtures__/subgraphHelpers'
function createNode(
graph: LGraph,
diff --git a/tests-ui/tests/litegraph/subgraph/SubgraphEdgeCases.test.ts b/src/lib/litegraph/src/subgraph/SubgraphEdgeCases.test.ts
similarity index 99%
rename from tests-ui/tests/litegraph/subgraph/SubgraphEdgeCases.test.ts
rename to src/lib/litegraph/src/subgraph/SubgraphEdgeCases.test.ts
index 8734575b1..3251a4d88 100644
--- a/tests-ui/tests/litegraph/subgraph/SubgraphEdgeCases.test.ts
+++ b/src/lib/litegraph/src/subgraph/SubgraphEdgeCases.test.ts
@@ -13,7 +13,7 @@ import {
createNestedSubgraphs,
createTestSubgraph,
createTestSubgraphNode
-} from './fixtures/subgraphHelpers'
+} from './__fixtures__/subgraphHelpers'
describe.skip('SubgraphEdgeCases - Recursion Detection', () => {
it('should handle circular subgraph references without crashing', () => {
diff --git a/tests-ui/tests/litegraph/subgraph/SubgraphEvents.test.ts b/src/lib/litegraph/src/subgraph/SubgraphEvents.test.ts
similarity index 99%
rename from tests-ui/tests/litegraph/subgraph/SubgraphEvents.test.ts
rename to src/lib/litegraph/src/subgraph/SubgraphEvents.test.ts
index abff4fa7a..ade35e919 100644
--- a/tests-ui/tests/litegraph/subgraph/SubgraphEvents.test.ts
+++ b/src/lib/litegraph/src/subgraph/SubgraphEvents.test.ts
@@ -1,8 +1,8 @@
// TODO: Fix these tests after migration
import { describe, expect, vi } from 'vitest'
-import { subgraphTest } from './fixtures/subgraphFixtures'
-import { verifyEventSequence } from './fixtures/subgraphHelpers'
+import { subgraphTest } from './__fixtures__/subgraphFixtures'
+import { verifyEventSequence } from './__fixtures__/subgraphHelpers'
describe.skip('SubgraphEvents - Event Payload Verification', () => {
subgraphTest(
diff --git a/tests-ui/tests/litegraph/subgraph/SubgraphIO.test.ts b/src/lib/litegraph/src/subgraph/SubgraphIO.test.ts
similarity index 99%
rename from tests-ui/tests/litegraph/subgraph/SubgraphIO.test.ts
rename to src/lib/litegraph/src/subgraph/SubgraphIO.test.ts
index 25f2ecd10..c3fa79970 100644
--- a/tests-ui/tests/litegraph/subgraph/SubgraphIO.test.ts
+++ b/src/lib/litegraph/src/subgraph/SubgraphIO.test.ts
@@ -5,11 +5,11 @@ import { LGraphNode } from '@/lib/litegraph/src/litegraph'
import { ToInputFromIoNodeLink } from '@/lib/litegraph/src/canvas/ToInputFromIoNodeLink'
import { LinkDirection } from '@/lib/litegraph/src//types/globalEnums'
-import { subgraphTest } from './fixtures/subgraphFixtures'
+import { subgraphTest } from './__fixtures__/subgraphFixtures'
import {
createTestSubgraph,
createTestSubgraphNode
-} from './fixtures/subgraphHelpers'
+} from './__fixtures__/subgraphHelpers'
describe('SubgraphIO - Input Slot Dual-Nature Behavior', () => {
subgraphTest(
diff --git a/tests-ui/tests/litegraph/subgraph/SubgraphMemory.test.ts b/src/lib/litegraph/src/subgraph/SubgraphMemory.test.ts
similarity index 99%
rename from tests-ui/tests/litegraph/subgraph/SubgraphMemory.test.ts
rename to src/lib/litegraph/src/subgraph/SubgraphMemory.test.ts
index 5e6770d1e..6a4e662bf 100644
--- a/tests-ui/tests/litegraph/subgraph/SubgraphMemory.test.ts
+++ b/src/lib/litegraph/src/subgraph/SubgraphMemory.test.ts
@@ -3,11 +3,11 @@ import { describe, expect, it, vi } from 'vitest'
import { LGraph } from '@/lib/litegraph/src/litegraph'
-import { subgraphTest } from './fixtures/subgraphFixtures'
+import { subgraphTest } from './__fixtures__/subgraphFixtures'
import {
createTestSubgraph,
createTestSubgraphNode
-} from './fixtures/subgraphHelpers'
+} from './__fixtures__/subgraphHelpers'
describe.skip('SubgraphNode Memory Management', () => {
describe.skip('Event Listener Cleanup', () => {
diff --git a/tests-ui/tests/litegraph/subgraph/SubgraphNode.test.ts b/src/lib/litegraph/src/subgraph/SubgraphNode.test.ts
similarity index 99%
rename from tests-ui/tests/litegraph/subgraph/SubgraphNode.test.ts
rename to src/lib/litegraph/src/subgraph/SubgraphNode.test.ts
index 40ad062c6..e82e03149 100644
--- a/tests-ui/tests/litegraph/subgraph/SubgraphNode.test.ts
+++ b/src/lib/litegraph/src/subgraph/SubgraphNode.test.ts
@@ -9,11 +9,11 @@ import { describe, expect, it, vi } from 'vitest'
import { LGraph, Subgraph } from '@/lib/litegraph/src/litegraph'
-import { subgraphTest } from './fixtures/subgraphFixtures'
+import { subgraphTest } from './__fixtures__/subgraphFixtures'
import {
createTestSubgraph,
createTestSubgraphNode
-} from './fixtures/subgraphHelpers'
+} from './__fixtures__/subgraphHelpers'
describe.skip('SubgraphNode Construction', () => {
it('should create a SubgraphNode from a subgraph definition', () => {
diff --git a/tests-ui/tests/litegraph/subgraph/SubgraphNode.titleButton.test.ts b/src/lib/litegraph/src/subgraph/SubgraphNode.titleButton.test.ts
similarity index 99%
rename from tests-ui/tests/litegraph/subgraph/SubgraphNode.titleButton.test.ts
rename to src/lib/litegraph/src/subgraph/SubgraphNode.titleButton.test.ts
index 9bc64802c..c76e9d5ee 100644
--- a/tests-ui/tests/litegraph/subgraph/SubgraphNode.titleButton.test.ts
+++ b/src/lib/litegraph/src/subgraph/SubgraphNode.titleButton.test.ts
@@ -7,7 +7,7 @@ import type { LGraphCanvas } from '@/lib/litegraph/src/litegraph'
import {
createTestSubgraph,
createTestSubgraphNode
-} from './fixtures/subgraphHelpers'
+} from './__fixtures__/subgraphHelpers'
describe.skip('SubgraphNode Title Button', () => {
describe.skip('Constructor', () => {
diff --git a/tests-ui/tests/litegraph/subgraph/SubgraphSerialization.test.ts b/src/lib/litegraph/src/subgraph/SubgraphSerialization.test.ts
similarity index 99%
rename from tests-ui/tests/litegraph/subgraph/SubgraphSerialization.test.ts
rename to src/lib/litegraph/src/subgraph/SubgraphSerialization.test.ts
index 35e113b0e..f773fe63d 100644
--- a/tests-ui/tests/litegraph/subgraph/SubgraphSerialization.test.ts
+++ b/src/lib/litegraph/src/subgraph/SubgraphSerialization.test.ts
@@ -12,7 +12,7 @@ import { LGraph, Subgraph } from '@/lib/litegraph/src/litegraph'
import {
createTestSubgraph,
createTestSubgraphNode
-} from './fixtures/subgraphHelpers'
+} from './__fixtures__/subgraphHelpers'
describe.skip('SubgraphSerialization - Basic Serialization', () => {
it('should save and load simple subgraphs', () => {
diff --git a/tests-ui/tests/litegraph/subgraph/SubgraphSlotConnections.test.ts b/src/lib/litegraph/src/subgraph/SubgraphSlotConnections.test.ts
similarity index 96%
rename from tests-ui/tests/litegraph/subgraph/SubgraphSlotConnections.test.ts
rename to src/lib/litegraph/src/subgraph/SubgraphSlotConnections.test.ts
index 0c10b782a..515c0ac22 100644
--- a/tests-ui/tests/litegraph/subgraph/SubgraphSlotConnections.test.ts
+++ b/src/lib/litegraph/src/subgraph/SubgraphSlotConnections.test.ts
@@ -1,21 +1,24 @@
// TODO: Fix these tests after migration
import { describe, expect, it, vi } from 'vitest'
-import { LinkConnector } from '@/lib/litegraph/src/litegraph'
-import { ToInputFromIoNodeLink } from '@/lib/litegraph/src/litegraph'
-import { SUBGRAPH_INPUT_ID } from '@/lib/litegraph/src/litegraph'
-import { LGraphNode, type LinkNetwork } from '@/lib/litegraph/src/litegraph'
-import type { NodeInputSlot } from '@/lib/litegraph/src/litegraph'
-import type { NodeOutputSlot } from '@/lib/litegraph/src/litegraph'
import {
+ SUBGRAPH_INPUT_ID,
+ LinkConnector,
+ ToInputFromIoNodeLink,
+ LGraphNode,
isSubgraphInput,
isSubgraphOutput
} from '@/lib/litegraph/src/litegraph'
+import type {
+ LinkNetwork,
+ NodeInputSlot,
+ NodeOutputSlot
+} from '@/lib/litegraph/src/litegraph'
import {
createTestSubgraph,
createTestSubgraphNode
-} from './fixtures/subgraphHelpers'
+} from './__fixtures__/subgraphHelpers'
describe.skip('Subgraph slot connections', () => {
describe.skip('SubgraphInput connections', () => {
diff --git a/tests-ui/tests/litegraph/subgraph/SubgraphSlotVisualFeedback.test.ts b/src/lib/litegraph/src/subgraph/SubgraphSlotVisualFeedback.test.ts
similarity index 98%
rename from tests-ui/tests/litegraph/subgraph/SubgraphSlotVisualFeedback.test.ts
rename to src/lib/litegraph/src/subgraph/SubgraphSlotVisualFeedback.test.ts
index 0ed819a4f..baf842812 100644
--- a/tests-ui/tests/litegraph/subgraph/SubgraphSlotVisualFeedback.test.ts
+++ b/src/lib/litegraph/src/subgraph/SubgraphSlotVisualFeedback.test.ts
@@ -3,7 +3,7 @@ import { beforeEach, describe, expect, it, vi } from 'vitest'
import { LGraphNode } from '@/lib/litegraph/src/litegraph'
-import { createTestSubgraph } from './fixtures/subgraphHelpers'
+import { createTestSubgraph } from './__fixtures__/subgraphHelpers'
describe.skip('SubgraphSlot visual feedback', () => {
let mockCtx: CanvasRenderingContext2D
diff --git a/tests-ui/tests/litegraph/subgraph/SubgraphWidgetPromotion.test.ts b/src/lib/litegraph/src/subgraph/SubgraphWidgetPromotion.test.ts
similarity index 97%
rename from tests-ui/tests/litegraph/subgraph/SubgraphWidgetPromotion.test.ts
rename to src/lib/litegraph/src/subgraph/SubgraphWidgetPromotion.test.ts
index 36793829d..d938b300a 100644
--- a/tests-ui/tests/litegraph/subgraph/SubgraphWidgetPromotion.test.ts
+++ b/src/lib/litegraph/src/subgraph/SubgraphWidgetPromotion.test.ts
@@ -1,16 +1,18 @@
// TODO: Fix these tests after migration
import { describe, expect, it } from 'vitest'
-import type { ISlotType, Subgraph } from '@/lib/litegraph/src/litegraph'
-import { LGraphNode } from '@/lib/litegraph/src/litegraph'
-import type { TWidgetType } from '@/lib/litegraph/src/litegraph'
-import { BaseWidget } from '@/lib/litegraph/src/litegraph'
+import type {
+ ISlotType,
+ Subgraph,
+ TWidgetType
+} from '@/lib/litegraph/src/litegraph'
+import { BaseWidget, LGraphNode } from '@/lib/litegraph/src/litegraph'
import {
createEventCapture,
createTestSubgraph,
createTestSubgraphNode
-} from './fixtures/subgraphHelpers'
+} from './__fixtures__/subgraphHelpers'
// Helper to create a node with a widget
function createNodeWithWidget(
diff --git a/tests-ui/tests/litegraph/subgraph/fixtures/README.md b/src/lib/litegraph/src/subgraph/__fixtures__/README.md
similarity index 100%
rename from tests-ui/tests/litegraph/subgraph/fixtures/README.md
rename to src/lib/litegraph/src/subgraph/__fixtures__/README.md
diff --git a/tests-ui/tests/litegraph/subgraph/fixtures/subgraphFixtures.ts b/src/lib/litegraph/src/subgraph/__fixtures__/subgraphFixtures.ts
similarity index 93%
rename from tests-ui/tests/litegraph/subgraph/fixtures/subgraphFixtures.ts
rename to src/lib/litegraph/src/subgraph/__fixtures__/subgraphFixtures.ts
index 02134868c..6f88d1c8f 100644
--- a/tests-ui/tests/litegraph/subgraph/fixtures/subgraphFixtures.ts
+++ b/src/lib/litegraph/src/subgraph/__fixtures__/subgraphFixtures.ts
@@ -1,3 +1,4 @@
+// oxlint-disable no-empty-pattern
/**
* Vitest Fixtures for Subgraph Testing
*
@@ -9,7 +10,7 @@ import type { Subgraph } from '@/lib/litegraph/src/litegraph'
import { LGraph } from '@/lib/litegraph/src/litegraph'
import type { SubgraphNode } from '@/lib/litegraph/src/subgraph/SubgraphNode'
-import { test } from '../../core/fixtures/testExtensions'
+import { test } from '../../__fixtures__/testExtensions'
import {
createEventCapture,
createNestedSubgraphs,
@@ -59,7 +60,7 @@ interface SubgraphFixtures {
*/
export const subgraphTest = test.extend({
// @ts-expect-error TODO: Fix after merge - fixture use parameter type
- // eslint-disable-next-line no-empty-pattern
+
emptySubgraph: async ({}, use: (value: unknown) => Promise) => {
const subgraph = createTestSubgraph({
name: 'Empty Test Subgraph',
@@ -72,7 +73,7 @@ export const subgraphTest = test.extend({
},
// @ts-expect-error TODO: Fix after merge - fixture use parameter type
- // eslint-disable-next-line no-empty-pattern
+
simpleSubgraph: async ({}, use: (value: unknown) => Promise) => {
const subgraph = createTestSubgraph({
name: 'Simple Test Subgraph',
@@ -85,7 +86,7 @@ export const subgraphTest = test.extend({
},
// @ts-expect-error TODO: Fix after merge - fixture use parameter type
- // eslint-disable-next-line no-empty-pattern
+
complexSubgraph: async ({}, use: (value: unknown) => Promise) => {
const subgraph = createTestSubgraph({
name: 'Complex Test Subgraph',
@@ -105,7 +106,7 @@ export const subgraphTest = test.extend({
},
// @ts-expect-error TODO: Fix after merge - fixture use parameter type
- // eslint-disable-next-line no-empty-pattern
+
nestedSubgraph: async ({}, use: (value: unknown) => Promise) => {
const nested = createNestedSubgraphs({
depth: 3,
@@ -118,7 +119,7 @@ export const subgraphTest = test.extend({
},
// @ts-expect-error TODO: Fix after merge - fixture use parameter type
- // eslint-disable-next-line no-empty-pattern
+
subgraphWithNode: async ({}, use: (value: unknown) => Promise) => {
// Create the subgraph definition
const subgraph = createTestSubgraph({
@@ -146,7 +147,7 @@ export const subgraphTest = test.extend({
},
// @ts-expect-error TODO: Fix after merge - fixture use parameter type
- // eslint-disable-next-line no-empty-pattern
+
eventCapture: async ({}, use: (value: unknown) => Promise) => {
const subgraph = createTestSubgraph({
name: 'Event Test Subgraph'
diff --git a/tests-ui/tests/litegraph/subgraph/fixtures/subgraphHelpers.ts b/src/lib/litegraph/src/subgraph/__fixtures__/subgraphHelpers.ts
similarity index 100%
rename from tests-ui/tests/litegraph/subgraph/fixtures/subgraphHelpers.ts
rename to src/lib/litegraph/src/subgraph/__fixtures__/subgraphHelpers.ts
diff --git a/tests-ui/tests/litegraph/subgraph/fixtures/testSubgraphs.json b/src/lib/litegraph/src/subgraph/__fixtures__/testSubgraphs.json
similarity index 100%
rename from tests-ui/tests/litegraph/subgraph/fixtures/testSubgraphs.json
rename to src/lib/litegraph/src/subgraph/__fixtures__/testSubgraphs.json
diff --git a/tests-ui/tests/litegraph/subgraph/subgraphUtils.test.ts b/src/lib/litegraph/src/subgraph/subgraphUtils.test.ts
similarity index 98%
rename from tests-ui/tests/litegraph/subgraph/subgraphUtils.test.ts
rename to src/lib/litegraph/src/subgraph/subgraphUtils.test.ts
index c1cea490f..a5f5893b0 100644
--- a/tests-ui/tests/litegraph/subgraph/subgraphUtils.test.ts
+++ b/src/lib/litegraph/src/subgraph/subgraphUtils.test.ts
@@ -1,8 +1,8 @@
// TODO: Fix these tests after migration
import { describe, expect, it } from 'vitest'
-import { LGraph } from '@/lib/litegraph/src/litegraph'
import {
+ LGraph,
findUsedSubgraphIds,
getDirectSubgraphIds
} from '@/lib/litegraph/src/litegraph'
@@ -11,7 +11,7 @@ import type { UUID } from '@/lib/litegraph/src/litegraph'
import {
createTestSubgraph,
createTestSubgraphNode
-} from './fixtures/subgraphHelpers'
+} from './__fixtures__/subgraphHelpers'
describe.skip('subgraphUtils', () => {
describe.skip('getDirectSubgraphIds', () => {
diff --git a/tests-ui/tests/litegraph/utils/spaceDistribution.test.ts b/src/lib/litegraph/src/utils/spaceDistribution.test.ts
similarity index 90%
rename from tests-ui/tests/litegraph/utils/spaceDistribution.test.ts
rename to src/lib/litegraph/src/utils/spaceDistribution.test.ts
index 4d029762f..254c13da6 100644
--- a/tests-ui/tests/litegraph/utils/spaceDistribution.test.ts
+++ b/src/lib/litegraph/src/utils/spaceDistribution.test.ts
@@ -1,9 +1,7 @@
import { describe, expect, it } from 'vitest'
-import {
- type SpaceRequest,
- distributeSpace
-} from '@/lib/litegraph/src/litegraph'
+import { distributeSpace } from '@/lib/litegraph/src/litegraph'
+import type { SpaceRequest } from '@/lib/litegraph/src/litegraph'
describe('distributeSpace', () => {
it('should distribute space according to minimum sizes when space is limited', () => {
diff --git a/tests-ui/tests/litegraph/utils/textUtils.test.ts b/src/lib/litegraph/src/utils/textUtils.test.ts
similarity index 100%
rename from tests-ui/tests/litegraph/utils/textUtils.test.ts
rename to src/lib/litegraph/src/utils/textUtils.test.ts
diff --git a/tests-ui/tests/litegraph/utils/widget.test.ts b/src/lib/litegraph/src/utils/widget.test.ts
similarity index 100%
rename from tests-ui/tests/litegraph/utils/widget.test.ts
rename to src/lib/litegraph/src/utils/widget.test.ts
diff --git a/tests-ui/tests/lib/litegraph/src/widgets/ComboWidget.test.ts b/src/lib/litegraph/src/widgets/ComboWidget.test.ts
similarity index 99%
rename from tests-ui/tests/lib/litegraph/src/widgets/ComboWidget.test.ts
rename to src/lib/litegraph/src/widgets/ComboWidget.test.ts
index c8291ff0a..b1605906f 100644
--- a/tests-ui/tests/lib/litegraph/src/widgets/ComboWidget.test.ts
+++ b/src/lib/litegraph/src/widgets/ComboWidget.test.ts
@@ -1,13 +1,14 @@
import { beforeEach, describe, expect, it, vi } from 'vitest'
+import type * as LGraphCanvasModule from '@/lib/litegraph/src/LGraphCanvas'
import { LGraphNode, LiteGraph } from '@/lib/litegraph/src/litegraph'
import type { CanvasPointerEvent } from '@/lib/litegraph/src/types/events'
import type { IComboWidget } from '@/lib/litegraph/src/types/widgets'
import { ComboWidget } from '@/lib/litegraph/src/widgets/ComboWidget'
-const { LGraphCanvas } = await vi.importActual<
- typeof import('@/lib/litegraph/src/LGraphCanvas')
->('@/lib/litegraph/src/LGraphCanvas')
+const { LGraphCanvas } = await vi.importActual(
+ '@/lib/litegraph/src/LGraphCanvas'
+)
type LGraphCanvasType = InstanceType
interface MockWidgetConfig extends Omit {
diff --git a/tests-ui/platform/assets/components/AssetBrowserModal.test.ts b/src/platform/assets/components/AssetBrowserModal.test.ts
similarity index 100%
rename from tests-ui/platform/assets/components/AssetBrowserModal.test.ts
rename to src/platform/assets/components/AssetBrowserModal.test.ts
diff --git a/tests-ui/platform/assets/components/AssetFilterBar.test.ts b/src/platform/assets/components/AssetFilterBar.test.ts
similarity index 100%
rename from tests-ui/platform/assets/components/AssetFilterBar.test.ts
rename to src/platform/assets/components/AssetFilterBar.test.ts
diff --git a/tests-ui/platform/assets/composables/useAssetBrowser.test.ts b/src/platform/assets/composables/useAssetBrowser.test.ts
similarity index 100%
rename from tests-ui/platform/assets/composables/useAssetBrowser.test.ts
rename to src/platform/assets/composables/useAssetBrowser.test.ts
diff --git a/tests-ui/platform/assets/composables/useAssetBrowserDialog.test.ts b/src/platform/assets/composables/useAssetBrowserDialog.test.ts
similarity index 100%
rename from tests-ui/platform/assets/composables/useAssetBrowserDialog.test.ts
rename to src/platform/assets/composables/useAssetBrowserDialog.test.ts
diff --git a/tests-ui/platform/assets/composables/useAssetFilterOptions.test.ts b/src/platform/assets/composables/useAssetFilterOptions.test.ts
similarity index 100%
rename from tests-ui/platform/assets/composables/useAssetFilterOptions.test.ts
rename to src/platform/assets/composables/useAssetFilterOptions.test.ts
diff --git a/tests-ui/tests/services/assetService.test.ts b/src/platform/assets/services/assetService.test.ts
similarity index 100%
rename from tests-ui/tests/services/assetService.test.ts
rename to src/platform/assets/services/assetService.test.ts
diff --git a/tests-ui/tests/platform/assets/utils/assetMetadataUtils.test.ts b/src/platform/assets/utils/assetMetadataUtils.test.ts
similarity index 100%
rename from tests-ui/tests/platform/assets/utils/assetMetadataUtils.test.ts
rename to src/platform/assets/utils/assetMetadataUtils.test.ts
diff --git a/tests-ui/platform/assets/utils/createModelNodeFromAsset.test.ts b/src/platform/assets/utils/createModelNodeFromAsset.test.ts
similarity index 92%
rename from tests-ui/platform/assets/utils/createModelNodeFromAsset.test.ts
rename to src/platform/assets/utils/createModelNodeFromAsset.test.ts
index 2c7d6c303..e8b12587b 100644
--- a/tests-ui/platform/assets/utils/createModelNodeFromAsset.test.ts
+++ b/src/platform/assets/utils/createModelNodeFromAsset.test.ts
@@ -1,11 +1,14 @@
+// oxlint-disable no-misused-spread
import { beforeEach, describe, expect, it, vi } from 'vitest'
-import { type Raw, markRaw } from 'vue'
+import { markRaw } from 'vue'
+import type { Raw } from 'vue'
-import {
- type LGraphNode,
- LiteGraph,
- type Subgraph
-} from '@/lib/litegraph/src/litegraph'
+import type { LGraphNode, Subgraph } from '@/lib/litegraph/src/litegraph'
+import { LiteGraph } from '@/lib/litegraph/src/litegraph'
+import type * as LitegraphModule from '@/lib/litegraph/src/litegraph'
+import type * as ModelToNodeStoreModule from '@/stores/modelToNodeStore'
+import type * as WorkflowStoreModule from '@/platform/workflow/management/stores/workflowStore'
+import type * as LitegraphServiceModule from '@/services/litegraphService'
import type { AssetItem } from '@/platform/assets/schemas/assetSchema'
import { createModelNodeFromAsset } from '@/platform/assets/utils/createModelNodeFromAsset'
import { useWorkflowStore } from '@/platform/workflow/management/stores/workflowStore'
@@ -20,8 +23,7 @@ vi.mock('@/scripts/api', () => ({
}
}))
vi.mock('@/stores/modelToNodeStore', async (importOriginal) => {
- const actual =
- await importOriginal()
+ const actual = await importOriginal()
return {
...actual,
useModelToNodeStore: vi.fn()
@@ -30,10 +32,7 @@ vi.mock('@/stores/modelToNodeStore', async (importOriginal) => {
vi.mock(
'@/platform/workflow/management/stores/workflowStore',
async (importOriginal) => {
- const actual =
- await importOriginal<
- typeof import('@/platform/workflow/management/stores/workflowStore')
- >()
+ const actual = await importOriginal()
return {
...actual,
useWorkflowStore: vi.fn()
@@ -41,16 +40,14 @@ vi.mock(
}
)
vi.mock('@/services/litegraphService', async (importOriginal) => {
- const actual =
- await importOriginal()
+ const actual = await importOriginal()
return {
...actual,
useLitegraphService: vi.fn()
}
})
vi.mock('@/lib/litegraph/src/litegraph', async (importOriginal) => {
- const actual =
- await importOriginal()
+ const actual = await importOriginal()
return {
...actual,
LiteGraph: {
@@ -93,7 +90,7 @@ async function createMockNode(overrides?: {
} = overrides || {}
const { LGraphNode: ActualLGraphNode } = await vi.importActual<
- typeof import('@/lib/litegraph/src/litegraph')
+ typeof LitegraphModule
>('@/lib/litegraph/src/litegraph')
if (!hasWidgets) {
@@ -232,9 +229,9 @@ describe('createModelNodeFromAsset', () => {
it('should add node to active subgraph when present', async () => {
const asset = createMockAsset()
const mockNode = await createMockNode()
- const { Subgraph } = await vi.importActual<
- typeof import('@/lib/litegraph/src/litegraph')
- >('@/lib/litegraph/src/litegraph')
+ const { Subgraph } = await vi.importActual(
+ '@/lib/litegraph/src/litegraph'
+ )
const mockSubgraph = markRaw(
Object.create(Subgraph.prototype, {
add: { value: vi.fn() }
diff --git a/tests-ui/tests/platform/cloud/subscription/components/PricingTable.test.ts b/src/platform/cloud/subscription/components/PricingTable.test.ts
similarity index 100%
rename from tests-ui/tests/platform/cloud/subscription/components/PricingTable.test.ts
rename to src/platform/cloud/subscription/components/PricingTable.test.ts
diff --git a/tests-ui/tests/platform/cloud/subscription/components/SubscriptionPanel.test.ts b/src/platform/cloud/subscription/components/SubscriptionPanel.test.ts
similarity index 100%
rename from tests-ui/tests/platform/cloud/subscription/components/SubscriptionPanel.test.ts
rename to src/platform/cloud/subscription/components/SubscriptionPanel.test.ts
diff --git a/tests-ui/tests/platform/cloud/subscription/useSubscription.test.ts b/src/platform/cloud/subscription/composables/useSubscription.test.ts
similarity index 100%
rename from tests-ui/tests/platform/cloud/subscription/useSubscription.test.ts
rename to src/platform/cloud/subscription/composables/useSubscription.test.ts
diff --git a/tests-ui/tests/platform/cloud/subscription/composables/useSubscriptionActions.test.ts b/src/platform/cloud/subscription/composables/useSubscriptionActions.test.ts
similarity index 100%
rename from tests-ui/tests/platform/cloud/subscription/composables/useSubscriptionActions.test.ts
rename to src/platform/cloud/subscription/composables/useSubscriptionActions.test.ts
diff --git a/tests-ui/tests/platform/cloud/subscription/useSubscriptionCancellationWatcher.test.ts b/src/platform/cloud/subscription/composables/useSubscriptionCancellationWatcher.test.ts
similarity index 98%
rename from tests-ui/tests/platform/cloud/subscription/useSubscriptionCancellationWatcher.test.ts
rename to src/platform/cloud/subscription/composables/useSubscriptionCancellationWatcher.test.ts
index 94db27549..12e114aed 100644
--- a/tests-ui/tests/platform/cloud/subscription/useSubscriptionCancellationWatcher.test.ts
+++ b/src/platform/cloud/subscription/composables/useSubscriptionCancellationWatcher.test.ts
@@ -4,11 +4,12 @@ import type { EffectScope } from 'vue'
import type { CloudSubscriptionStatusResponse } from '@/platform/cloud/subscription/composables/useSubscription'
import { useSubscriptionCancellationWatcher } from '@/platform/cloud/subscription/composables/useSubscriptionCancellationWatcher'
+import type { TelemetryProvider } from '@/platform/telemetry/types'
describe('useSubscriptionCancellationWatcher', () => {
const trackMonthlySubscriptionCancelled = vi.fn()
const telemetryMock: Pick<
- import('@/platform/telemetry/types').TelemetryProvider,
+ TelemetryProvider,
'trackMonthlySubscriptionCancelled'
> = {
trackMonthlySubscriptionCancelled
diff --git a/tests-ui/tests/platform/cloud/subscription/composables/useSubscriptionCredits.test.ts b/src/platform/cloud/subscription/composables/useSubscriptionCredits.test.ts
similarity index 97%
rename from tests-ui/tests/platform/cloud/subscription/composables/useSubscriptionCredits.test.ts
rename to src/platform/cloud/subscription/composables/useSubscriptionCredits.test.ts
index 230e7ceb7..dde7313e4 100644
--- a/tests-ui/tests/platform/cloud/subscription/composables/useSubscriptionCredits.test.ts
+++ b/src/platform/cloud/subscription/composables/useSubscriptionCredits.test.ts
@@ -1,5 +1,6 @@
import { createPinia, setActivePinia } from 'pinia'
import { beforeEach, describe, expect, it, vi } from 'vitest'
+import type * as VueI18nModule from 'vue-i18n'
import * as comfyCredits from '@/base/credits/comfyCredits'
import { useSubscriptionCredits } from '@/platform/cloud/subscription/composables/useSubscriptionCredits'
@@ -11,7 +12,7 @@ type GetCustomerBalanceResponse =
vi.mock(
'vue-i18n',
- async (importOriginal: () => Promise) => {
+ async (importOriginal: () => Promise) => {
const actual = await importOriginal()
return {
...actual,
diff --git a/tests-ui/tests/platform/navigation/preservedQueryManager.test.ts b/src/platform/navigation/preservedQueryManager.test.ts
similarity index 100%
rename from tests-ui/tests/platform/navigation/preservedQueryManager.test.ts
rename to src/platform/navigation/preservedQueryManager.test.ts
diff --git a/tests-ui/fixtures/historyFixtures.ts b/src/platform/remote/comfyui/history/__fixtures__/historyFixtures.ts
similarity index 100%
rename from tests-ui/fixtures/historyFixtures.ts
rename to src/platform/remote/comfyui/history/__fixtures__/historyFixtures.ts
diff --git a/tests-ui/tests/platform/remote/comfyui/history/adapters/v2ToV1Adapter.test.ts b/src/platform/remote/comfyui/history/adapters/v2ToV1Adapter.test.ts
similarity index 50%
rename from tests-ui/tests/platform/remote/comfyui/history/adapters/v2ToV1Adapter.test.ts
rename to src/platform/remote/comfyui/history/adapters/v2ToV1Adapter.test.ts
index c047782a0..e9dff7d38 100644
--- a/tests-ui/tests/platform/remote/comfyui/history/adapters/v2ToV1Adapter.test.ts
+++ b/src/platform/remote/comfyui/history/adapters/v2ToV1Adapter.test.ts
@@ -10,14 +10,263 @@ import type { HistoryResponseV2 } from '@/platform/remote/comfyui/history/types/
import {
expectedV1Fixture,
historyV2Fixture
-} from '@tests-ui/fixtures/historyFixtures'
-import {
- historyV2FiveItemsSorting,
- historyV2MultipleNoTimestamp,
- historyV2WithMissingTimestamp
-} from '@tests-ui/fixtures/historySortingFixtures'
+} from '@/platform/remote/comfyui/history/__fixtures__/historyFixtures'
import type { HistoryTaskItem } from '@/platform/remote/comfyui/history/types/historyV1Types'
+const historyV2WithMissingTimestamp: HistoryResponseV2 = {
+ history: [
+ {
+ prompt_id: 'item-timestamp-1000',
+ prompt: {
+ priority: 0,
+ prompt_id: 'item-timestamp-1000',
+ extra_data: {
+ client_id: 'test-client'
+ }
+ },
+ outputs: {
+ '1': {
+ images: [{ filename: 'test1.png', type: 'output', subfolder: '' }]
+ }
+ },
+ status: {
+ status_str: 'success',
+ completed: true,
+ messages: [
+ [
+ 'execution_success',
+ { prompt_id: 'item-timestamp-1000', timestamp: 1000 }
+ ]
+ ]
+ }
+ },
+ {
+ prompt_id: 'item-timestamp-2000',
+ prompt: {
+ priority: 0,
+ prompt_id: 'item-timestamp-2000',
+ extra_data: {
+ client_id: 'test-client'
+ }
+ },
+ outputs: {
+ '2': {
+ images: [{ filename: 'test2.png', type: 'output', subfolder: '' }]
+ }
+ },
+ status: {
+ status_str: 'success',
+ completed: true,
+ messages: [
+ [
+ 'execution_success',
+ { prompt_id: 'item-timestamp-2000', timestamp: 2000 }
+ ]
+ ]
+ }
+ },
+ {
+ prompt_id: 'item-no-timestamp',
+ prompt: {
+ priority: 0,
+ prompt_id: 'item-no-timestamp',
+ extra_data: {
+ client_id: 'test-client'
+ }
+ },
+ outputs: {
+ '3': {
+ images: [{ filename: 'test3.png', type: 'output', subfolder: '' }]
+ }
+ },
+ status: {
+ status_str: 'success',
+ completed: true,
+ messages: []
+ }
+ }
+ ]
+}
+
+const historyV2FiveItemsSorting: HistoryResponseV2 = {
+ history: [
+ {
+ prompt_id: 'item-timestamp-3000',
+ prompt: {
+ priority: 0,
+ prompt_id: 'item-timestamp-3000',
+ extra_data: { client_id: 'test-client' }
+ },
+ outputs: {
+ '1': {
+ images: [{ filename: 'test1.png', type: 'output', subfolder: '' }]
+ }
+ },
+ status: {
+ status_str: 'success',
+ completed: true,
+ messages: [
+ [
+ 'execution_success',
+ { prompt_id: 'item-timestamp-3000', timestamp: 3000 }
+ ]
+ ]
+ }
+ },
+ {
+ prompt_id: 'item-timestamp-1000',
+ prompt: {
+ priority: 0,
+ prompt_id: 'item-timestamp-1000',
+ extra_data: { client_id: 'test-client' }
+ },
+ outputs: {
+ '2': {
+ images: [{ filename: 'test2.png', type: 'output', subfolder: '' }]
+ }
+ },
+ status: {
+ status_str: 'success',
+ completed: true,
+ messages: [
+ [
+ 'execution_success',
+ { prompt_id: 'item-timestamp-1000', timestamp: 1000 }
+ ]
+ ]
+ }
+ },
+ {
+ prompt_id: 'item-timestamp-5000',
+ prompt: {
+ priority: 0,
+ prompt_id: 'item-timestamp-5000',
+ extra_data: { client_id: 'test-client' }
+ },
+ outputs: {
+ '3': {
+ images: [{ filename: 'test3.png', type: 'output', subfolder: '' }]
+ }
+ },
+ status: {
+ status_str: 'success',
+ completed: true,
+ messages: [
+ [
+ 'execution_success',
+ { prompt_id: 'item-timestamp-5000', timestamp: 5000 }
+ ]
+ ]
+ }
+ },
+ {
+ prompt_id: 'item-timestamp-2000',
+ prompt: {
+ priority: 0,
+ prompt_id: 'item-timestamp-2000',
+ extra_data: { client_id: 'test-client' }
+ },
+ outputs: {
+ '4': {
+ images: [{ filename: 'test4.png', type: 'output', subfolder: '' }]
+ }
+ },
+ status: {
+ status_str: 'success',
+ completed: true,
+ messages: [
+ [
+ 'execution_success',
+ { prompt_id: 'item-timestamp-2000', timestamp: 2000 }
+ ]
+ ]
+ }
+ },
+ {
+ prompt_id: 'item-timestamp-4000',
+ prompt: {
+ priority: 0,
+ prompt_id: 'item-timestamp-4000',
+ extra_data: { client_id: 'test-client' }
+ },
+ outputs: {
+ '5': {
+ images: [{ filename: 'test5.png', type: 'output', subfolder: '' }]
+ }
+ },
+ status: {
+ status_str: 'success',
+ completed: true,
+ messages: [
+ [
+ 'execution_success',
+ { prompt_id: 'item-timestamp-4000', timestamp: 4000 }
+ ]
+ ]
+ }
+ }
+ ]
+}
+
+const historyV2MultipleNoTimestamp: HistoryResponseV2 = {
+ history: [
+ {
+ prompt_id: 'item-no-timestamp-1',
+ prompt: {
+ priority: 0,
+ prompt_id: 'item-no-timestamp-1',
+ extra_data: { client_id: 'test-client' }
+ },
+ outputs: {
+ '1': {
+ images: [{ filename: 'test1.png', type: 'output', subfolder: '' }]
+ }
+ },
+ status: {
+ status_str: 'success',
+ completed: true,
+ messages: []
+ }
+ },
+ {
+ prompt_id: 'item-no-timestamp-2',
+ prompt: {
+ priority: 0,
+ prompt_id: 'item-no-timestamp-2',
+ extra_data: { client_id: 'test-client' }
+ },
+ outputs: {
+ '2': {
+ images: [{ filename: 'test2.png', type: 'output', subfolder: '' }]
+ }
+ },
+ status: {
+ status_str: 'success',
+ completed: true,
+ messages: []
+ }
+ },
+ {
+ prompt_id: 'item-no-timestamp-3',
+ prompt: {
+ priority: 0,
+ prompt_id: 'item-no-timestamp-3',
+ extra_data: { client_id: 'test-client' }
+ },
+ outputs: {
+ '3': {
+ images: [{ filename: 'test3.png', type: 'output', subfolder: '' }]
+ }
+ },
+ status: {
+ status_str: 'success',
+ completed: true,
+ messages: []
+ }
+ }
+ ]
+}
+
function findResultByPromptId(
result: HistoryTaskItem[],
promptId: string
diff --git a/tests-ui/tests/platform/remote/comfyui/history/fetchers/fetchHistoryV1.test.ts b/src/platform/remote/comfyui/history/fetchers/fetchHistoryV1.test.ts
similarity index 93%
rename from tests-ui/tests/platform/remote/comfyui/history/fetchers/fetchHistoryV1.test.ts
rename to src/platform/remote/comfyui/history/fetchers/fetchHistoryV1.test.ts
index e0869778e..b2fa1cfa2 100644
--- a/tests-ui/tests/platform/remote/comfyui/history/fetchers/fetchHistoryV1.test.ts
+++ b/src/platform/remote/comfyui/history/fetchers/fetchHistoryV1.test.ts
@@ -5,7 +5,7 @@ import { describe, expect, it, vi } from 'vitest'
import { fetchHistoryV1 } from '@/platform/remote/comfyui/history/fetchers/fetchHistoryV1'
-import { historyV1RawResponse } from '@tests-ui/fixtures/historyFixtures'
+import { historyV1RawResponse } from '@/platform/remote/comfyui/history/__fixtures__/historyFixtures'
describe('fetchHistoryV1', () => {
const mockFetchApi = vi.fn().mockResolvedValue({
diff --git a/tests-ui/tests/platform/remote/comfyui/history/fetchers/fetchHistoryV2.test.ts b/src/platform/remote/comfyui/history/fetchers/fetchHistoryV2.test.ts
similarity index 94%
rename from tests-ui/tests/platform/remote/comfyui/history/fetchers/fetchHistoryV2.test.ts
rename to src/platform/remote/comfyui/history/fetchers/fetchHistoryV2.test.ts
index ff0e28750..fd8aa8bbd 100644
--- a/tests-ui/tests/platform/remote/comfyui/history/fetchers/fetchHistoryV2.test.ts
+++ b/src/platform/remote/comfyui/history/fetchers/fetchHistoryV2.test.ts
@@ -8,7 +8,7 @@ import { fetchHistoryV2 } from '@/platform/remote/comfyui/history/fetchers/fetch
import {
expectedV1Fixture,
historyV2Fixture
-} from '@tests-ui/fixtures/historyFixtures'
+} from '@/platform/remote/comfyui/history/__fixtures__/historyFixtures'
describe('fetchHistoryV2', () => {
const mockFetchApi = vi.fn().mockResolvedValue({
diff --git a/tests-ui/tests/platform/remote/comfyui/history/reconciliation.test.ts b/src/platform/remote/comfyui/history/reconciliation.test.ts
similarity index 100%
rename from tests-ui/tests/platform/remote/comfyui/history/reconciliation.test.ts
rename to src/platform/remote/comfyui/history/reconciliation.test.ts
diff --git a/tests-ui/tests/platform/remote/comfyui/jobs/fetchJobs.test.ts b/src/platform/remote/comfyui/jobs/fetchJobs.test.ts
similarity index 100%
rename from tests-ui/tests/platform/remote/comfyui/jobs/fetchJobs.test.ts
rename to src/platform/remote/comfyui/jobs/fetchJobs.test.ts
diff --git a/tests-ui/tests/platform/settings/components/SettingItem.test.ts b/src/platform/settings/components/SettingItem.test.ts
similarity index 100%
rename from tests-ui/tests/platform/settings/components/SettingItem.test.ts
rename to src/platform/settings/components/SettingItem.test.ts
diff --git a/tests-ui/tests/composables/useSettingSearch.test.ts b/src/platform/settings/composables/useSettingSearch.test.ts
similarity index 100%
rename from tests-ui/tests/composables/useSettingSearch.test.ts
rename to src/platform/settings/composables/useSettingSearch.test.ts
diff --git a/tests-ui/tests/store/settingStore.test.ts b/src/platform/settings/settingStore.test.ts
similarity index 100%
rename from tests-ui/tests/store/settingStore.test.ts
rename to src/platform/settings/settingStore.test.ts
diff --git a/tests-ui/tests/platform/telemetry/topupTracker.test.ts b/src/platform/telemetry/topupTracker.test.ts
similarity index 98%
rename from tests-ui/tests/platform/telemetry/topupTracker.test.ts
rename to src/platform/telemetry/topupTracker.test.ts
index 668ed2db7..1ea07ff90 100644
--- a/tests-ui/tests/platform/telemetry/topupTracker.test.ts
+++ b/src/platform/telemetry/topupTracker.test.ts
@@ -1,5 +1,6 @@
import { beforeEach, describe, expect, it, vi } from 'vitest'
+import type * as TopupTrackerModule from '@/platform/telemetry/topupTracker'
import type { AuditLog } from '@/services/customerEventsService'
// Mock localStorage
@@ -24,7 +25,7 @@ vi.mock('@/platform/telemetry', () => ({
}))
describe('topupTracker', () => {
- let topupTracker: typeof import('@/platform/telemetry/topupTracker')
+ let topupTracker: typeof TopupTrackerModule
beforeEach(async () => {
vi.clearAllMocks()
diff --git a/tests-ui/tests/platform/telemetry/useTelemetry.test.ts b/src/platform/telemetry/useTelemetry.test.ts
similarity index 100%
rename from tests-ui/tests/platform/telemetry/useTelemetry.test.ts
rename to src/platform/telemetry/useTelemetry.test.ts
diff --git a/tests-ui/tests/services/releaseService.test.ts b/src/platform/updates/common/releaseService.test.ts
similarity index 100%
rename from tests-ui/tests/services/releaseService.test.ts
rename to src/platform/updates/common/releaseService.test.ts
diff --git a/tests-ui/tests/store/releaseStore.test.ts b/src/platform/updates/common/releaseStore.test.ts
similarity index 100%
rename from tests-ui/tests/store/releaseStore.test.ts
rename to src/platform/updates/common/releaseStore.test.ts
diff --git a/tests-ui/tests/composables/useFrontendVersionMismatchWarning.test.ts b/src/platform/updates/common/useFrontendVersionMismatchWarning.test.ts
similarity index 97%
rename from tests-ui/tests/composables/useFrontendVersionMismatchWarning.test.ts
rename to src/platform/updates/common/useFrontendVersionMismatchWarning.test.ts
index 8c175ab05..11a7fcbb0 100644
--- a/tests-ui/tests/composables/useFrontendVersionMismatchWarning.test.ts
+++ b/src/platform/updates/common/useFrontendVersionMismatchWarning.test.ts
@@ -1,6 +1,5 @@
import { createPinia, setActivePinia } from 'pinia'
-import { vi } from 'vitest'
-import { afterEach, beforeEach, describe, expect, it } from 'vitest'
+import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
import { nextTick } from 'vue'
import { useToastStore } from '@/platform/updates/common/toastStore'
@@ -66,8 +65,8 @@ vi.mock('vue-i18n', () => ({
// Mock lifecycle hooks to track their calls
const mockOnMounted = vi.fn()
-vi.mock('vue', async (importOriginal) => {
- const actual = await importOriginal()
+vi.mock('vue', async () => {
+ const actual = await vi.importActual('vue')
return {
...actual,
onMounted: (fn: () => void) => {
diff --git a/tests-ui/tests/store/versionCompatibilityStore.test.ts b/src/platform/updates/common/versionCompatibilityStore.test.ts
similarity index 100%
rename from tests-ui/tests/store/versionCompatibilityStore.test.ts
rename to src/platform/updates/common/versionCompatibilityStore.test.ts
diff --git a/tests-ui/tests/platform/workflow/cloud/getWorkflowFromHistory.test.ts b/src/platform/workflow/cloud/getWorkflowFromHistory.test.ts
similarity index 100%
rename from tests-ui/tests/platform/workflow/cloud/getWorkflowFromHistory.test.ts
rename to src/platform/workflow/cloud/getWorkflowFromHistory.test.ts
diff --git a/tests-ui/tests/store/workflowStore.test.ts b/src/platform/workflow/management/stores/workflowStore.test.ts
similarity index 100%
rename from tests-ui/tests/store/workflowStore.test.ts
rename to src/platform/workflow/management/stores/workflowStore.test.ts
diff --git a/tests-ui/tests/composables/useWorkflowAutoSave.test.ts b/src/platform/workflow/persistence/composables/useWorkflowAutoSave.test.ts
similarity index 100%
rename from tests-ui/tests/composables/useWorkflowAutoSave.test.ts
rename to src/platform/workflow/persistence/composables/useWorkflowAutoSave.test.ts
diff --git a/tests-ui/tests/platform/workflow/templates/composables/useTemplateUrlLoader.test.ts b/src/platform/workflow/templates/composables/useTemplateUrlLoader.test.ts
similarity index 100%
rename from tests-ui/tests/platform/workflow/templates/composables/useTemplateUrlLoader.test.ts
rename to src/platform/workflow/templates/composables/useTemplateUrlLoader.test.ts
diff --git a/tests-ui/tests/composables/useTemplateWorkflows.test.ts b/src/platform/workflow/templates/composables/useTemplateWorkflows.test.ts
similarity index 100%
rename from tests-ui/tests/composables/useTemplateWorkflows.test.ts
rename to src/platform/workflow/templates/composables/useTemplateWorkflows.test.ts
diff --git a/tests-ui/workflows/default_workflow.json b/src/platform/workflow/validation/schemas/__fixtures__/default_workflow.json
similarity index 100%
rename from tests-ui/workflows/default_workflow.json
rename to src/platform/workflow/validation/schemas/__fixtures__/default_workflow.json
diff --git a/tests-ui/workflows/workflow_disconnected.json b/src/platform/workflow/validation/schemas/__fixtures__/workflow_disconnected.json
similarity index 100%
rename from tests-ui/workflows/workflow_disconnected.json
rename to src/platform/workflow/validation/schemas/__fixtures__/workflow_disconnected.json
diff --git a/tests-ui/workflows/workflow_with_group.json b/src/platform/workflow/validation/schemas/__fixtures__/workflow_with_group.json
similarity index 100%
rename from tests-ui/workflows/workflow_with_group.json
rename to src/platform/workflow/validation/schemas/__fixtures__/workflow_with_group.json
diff --git a/tests-ui/tests/comfyWorkflow.test.ts b/src/platform/workflow/validation/schemas/workflowSchema.test.ts
similarity index 98%
rename from tests-ui/tests/comfyWorkflow.test.ts
rename to src/platform/workflow/validation/schemas/workflowSchema.test.ts
index cc1018696..b075e3ebe 100644
--- a/tests-ui/tests/comfyWorkflow.test.ts
+++ b/src/platform/workflow/validation/schemas/workflowSchema.test.ts
@@ -4,7 +4,7 @@ import { describe, expect, it } from 'vitest'
import { validateComfyWorkflow } from '@/platform/workflow/validation/schemas/workflowSchema'
import { defaultGraph } from '@/scripts/defaultGraph'
-const WORKFLOW_DIR = 'tests-ui/workflows'
+const WORKFLOW_DIR = 'src/platform/workflow/validation/schemas/__fixtures__'
describe('parseComfyWorkflow', () => {
it('parses valid workflow', async () => {
diff --git a/tests-ui/tests/renderer/core/canvas/useCanvasInteractions.test.ts b/src/renderer/core/canvas/useCanvasInteractions.test.ts
similarity index 100%
rename from tests-ui/tests/renderer/core/canvas/useCanvasInteractions.test.ts
rename to src/renderer/core/canvas/useCanvasInteractions.test.ts
diff --git a/tests-ui/tests/renderer/core/layout/layoutStore.test.ts b/src/renderer/core/layout/store/layoutStore.test.ts
similarity index 100%
rename from tests-ui/tests/renderer/core/layout/layoutStore.test.ts
rename to src/renderer/core/layout/store/layoutStore.test.ts
diff --git a/tests-ui/tests/composables/graph/useTransformSettling.test.ts b/src/renderer/core/layout/transform/useTransformSettling.test.ts
similarity index 100%
rename from tests-ui/tests/composables/graph/useTransformSettling.test.ts
rename to src/renderer/core/layout/transform/useTransformSettling.test.ts
diff --git a/tests-ui/tests/composables/element/useTransformState.test.ts b/src/renderer/core/layout/transform/useTransformState.test.ts
similarity index 100%
rename from tests-ui/tests/composables/element/useTransformState.test.ts
rename to src/renderer/core/layout/transform/useTransformState.test.ts
diff --git a/tests-ui/tests/renderer/core/layout/utils/layoutMath.test.ts b/src/renderer/core/layout/utils/layoutMath.test.ts
similarity index 100%
rename from tests-ui/tests/renderer/core/layout/utils/layoutMath.test.ts
rename to src/renderer/core/layout/utils/layoutMath.test.ts
diff --git a/tests-ui/tests/renderer/core/layout/utils/layoutUtils.test.ts b/src/renderer/core/layout/utils/layoutUtils.test.ts
similarity index 100%
rename from tests-ui/tests/renderer/core/layout/utils/layoutUtils.test.ts
rename to src/renderer/core/layout/utils/layoutUtils.test.ts
diff --git a/tests-ui/tests/renderer/core/layout/utils/mappers.test.ts b/src/renderer/core/layout/utils/mappers.test.ts
similarity index 95%
rename from tests-ui/tests/renderer/core/layout/utils/mappers.test.ts
rename to src/renderer/core/layout/utils/mappers.test.ts
index a4ab0cd6b..59078bd9c 100644
--- a/tests-ui/tests/renderer/core/layout/utils/mappers.test.ts
+++ b/src/renderer/core/layout/utils/mappers.test.ts
@@ -3,9 +3,9 @@ import * as Y from 'yjs'
import {
NODE_LAYOUT_DEFAULTS,
- type NodeLayoutMap,
yNodeToLayout
} from '@/renderer/core/layout/utils/mappers'
+import type { NodeLayoutMap } from '@/renderer/core/layout/utils/mappers'
describe('mappers', () => {
it('yNodeToLayout reads from Yjs-attached map', () => {
diff --git a/tests-ui/tests/utils/spatial/QuadTree.test.ts b/src/renderer/core/spatial/QuadTree.test.ts
similarity index 98%
rename from tests-ui/tests/utils/spatial/QuadTree.test.ts
rename to src/renderer/core/spatial/QuadTree.test.ts
index 31831159a..daa44bbb7 100644
--- a/tests-ui/tests/utils/spatial/QuadTree.test.ts
+++ b/src/renderer/core/spatial/QuadTree.test.ts
@@ -1,6 +1,7 @@
import { beforeEach, describe, expect, it } from 'vitest'
-import { type Bounds, QuadTree } from '@/renderer/core/spatial/QuadTree'
+import { QuadTree } from '@/renderer/core/spatial/QuadTree'
+import type { Bounds } from '@/renderer/core/spatial/QuadTree'
describe('QuadTree', () => {
let quadTree: QuadTree
diff --git a/tests-ui/tests/renderer/thumbnail/composables/useWorkflowThumbnail.test.ts b/src/renderer/core/thumbnail/useWorkflowThumbnail.test.ts
similarity index 100%
rename from tests-ui/tests/renderer/thumbnail/composables/useWorkflowThumbnail.test.ts
rename to src/renderer/core/thumbnail/useWorkflowThumbnail.test.ts
diff --git a/tests-ui/tests/composables/useMinimap.test.ts b/src/renderer/extensions/minimap/composables/useMinimap.test.ts
similarity index 100%
rename from tests-ui/tests/composables/useMinimap.test.ts
rename to src/renderer/extensions/minimap/composables/useMinimap.test.ts
diff --git a/tests-ui/tests/renderer/extensions/minimap/composables/useMinimapGraph.test.ts b/src/renderer/extensions/minimap/composables/useMinimapGraph.test.ts
similarity index 100%
rename from tests-ui/tests/renderer/extensions/minimap/composables/useMinimapGraph.test.ts
rename to src/renderer/extensions/minimap/composables/useMinimapGraph.test.ts
diff --git a/tests-ui/tests/renderer/extensions/minimap/composables/useMinimapInteraction.test.ts b/src/renderer/extensions/minimap/composables/useMinimapInteraction.test.ts
similarity index 100%
rename from tests-ui/tests/renderer/extensions/minimap/composables/useMinimapInteraction.test.ts
rename to src/renderer/extensions/minimap/composables/useMinimapInteraction.test.ts
diff --git a/tests-ui/tests/renderer/extensions/minimap/composables/useMinimapRenderer.test.ts b/src/renderer/extensions/minimap/composables/useMinimapRenderer.test.ts
similarity index 100%
rename from tests-ui/tests/renderer/extensions/minimap/composables/useMinimapRenderer.test.ts
rename to src/renderer/extensions/minimap/composables/useMinimapRenderer.test.ts
diff --git a/tests-ui/tests/renderer/extensions/minimap/composables/useMinimapSettings.test.ts b/src/renderer/extensions/minimap/composables/useMinimapSettings.test.ts
similarity index 100%
rename from tests-ui/tests/renderer/extensions/minimap/composables/useMinimapSettings.test.ts
rename to src/renderer/extensions/minimap/composables/useMinimapSettings.test.ts
diff --git a/tests-ui/tests/renderer/extensions/minimap/composables/useMinimapViewport.test.ts b/src/renderer/extensions/minimap/composables/useMinimapViewport.test.ts
similarity index 100%
rename from tests-ui/tests/renderer/extensions/minimap/composables/useMinimapViewport.test.ts
rename to src/renderer/extensions/minimap/composables/useMinimapViewport.test.ts
diff --git a/tests-ui/tests/minimap/MinimapDataSource.test.ts b/src/renderer/extensions/minimap/data/MinimapDataSource.test.ts
similarity index 98%
rename from tests-ui/tests/minimap/MinimapDataSource.test.ts
rename to src/renderer/extensions/minimap/data/MinimapDataSource.test.ts
index eff6ba771..50f9ebba0 100644
--- a/tests-ui/tests/minimap/MinimapDataSource.test.ts
+++ b/src/renderer/extensions/minimap/data/MinimapDataSource.test.ts
@@ -1,5 +1,6 @@
import { describe, expect, it, vi } from 'vitest'
-import { type ComputedRef, computed } from 'vue'
+import { computed } from 'vue'
+import type { ComputedRef } from 'vue'
import type { NodeId } from '@/lib/litegraph/src/LGraphNode'
import type { LGraph, LGraphNode, LLink } from '@/lib/litegraph/src/litegraph'
diff --git a/tests-ui/tests/renderer/extensions/minimap/minimapCanvasRenderer.test.ts b/src/renderer/extensions/minimap/minimapCanvasRenderer.test.ts
similarity index 100%
rename from tests-ui/tests/renderer/extensions/minimap/minimapCanvasRenderer.test.ts
rename to src/renderer/extensions/minimap/minimapCanvasRenderer.test.ts
diff --git a/tests-ui/tests/renderer/extensions/vueNodes/components/ImagePreview.test.ts b/src/renderer/extensions/vueNodes/components/ImagePreview.test.ts
similarity index 100%
rename from tests-ui/tests/renderer/extensions/vueNodes/components/ImagePreview.test.ts
rename to src/renderer/extensions/vueNodes/components/ImagePreview.test.ts
diff --git a/tests-ui/tests/renderer/extensions/vueNodes/components/LGraphNode.test.ts b/src/renderer/extensions/vueNodes/components/LGraphNode.test.ts
similarity index 96%
rename from tests-ui/tests/renderer/extensions/vueNodes/components/LGraphNode.test.ts
rename to src/renderer/extensions/vueNodes/components/LGraphNode.test.ts
index c1ae14094..b93b360fe 100644
--- a/tests-ui/tests/renderer/extensions/vueNodes/components/LGraphNode.test.ts
+++ b/src/renderer/extensions/vueNodes/components/LGraphNode.test.ts
@@ -89,12 +89,15 @@ vi.mock('@/renderer/extensions/vueNodes/preview/useNodePreviewState', () => ({
}))
}))
-vi.mock('../interactions/resize/useNodeResize', () => ({
- useNodeResize: vi.fn(() => ({
- startResize: vi.fn(),
- isResizing: computed(() => false)
- }))
-}))
+vi.mock(
+ '@/renderer/extensions/vueNodes/interactions/resize/useNodeResize',
+ () => ({
+ useNodeResize: vi.fn(() => ({
+ startResize: vi.fn(),
+ isResizing: computed(() => false)
+ }))
+ })
+)
const i18n = createI18n({
legacy: false,
diff --git a/tests-ui/tests/renderer/extensions/vueNodes/components/LivePreview.test.ts b/src/renderer/extensions/vueNodes/components/LivePreview.test.ts
similarity index 100%
rename from tests-ui/tests/renderer/extensions/vueNodes/components/LivePreview.test.ts
rename to src/renderer/extensions/vueNodes/components/LivePreview.test.ts
diff --git a/tests-ui/tests/renderer/extensions/vueNodes/components/NodeHeader.subgraph.test.ts b/src/renderer/extensions/vueNodes/components/NodeHeader.subgraph.test.ts
similarity index 100%
rename from tests-ui/tests/renderer/extensions/vueNodes/components/NodeHeader.subgraph.test.ts
rename to src/renderer/extensions/vueNodes/components/NodeHeader.subgraph.test.ts
diff --git a/tests-ui/renderer/extensions/vueNodes/components/NodeWidgets.test.ts b/src/renderer/extensions/vueNodes/components/NodeWidgets.test.ts
similarity index 100%
rename from tests-ui/renderer/extensions/vueNodes/components/NodeWidgets.test.ts
rename to src/renderer/extensions/vueNodes/components/NodeWidgets.test.ts
diff --git a/tests-ui/tests/renderer/extensions/vueNodes/composables/useNodeEventHandlers.test.ts b/src/renderer/extensions/vueNodes/composables/useNodeEventHandlers.test.ts
similarity index 100%
rename from tests-ui/tests/renderer/extensions/vueNodes/composables/useNodeEventHandlers.test.ts
rename to src/renderer/extensions/vueNodes/composables/useNodeEventHandlers.test.ts
diff --git a/tests-ui/tests/renderer/extensions/vueNodes/composables/useNodeZIndex.test.ts b/src/renderer/extensions/vueNodes/composables/useNodeZIndex.test.ts
similarity index 100%
rename from tests-ui/tests/renderer/extensions/vueNodes/composables/useNodeZIndex.test.ts
rename to src/renderer/extensions/vueNodes/composables/useNodeZIndex.test.ts
diff --git a/tests-ui/tests/renderer/extensions/vueNodes/widgets/components/WidgetSelect.asset-mode.test.ts b/src/renderer/extensions/vueNodes/widgets/components/WidgetSelect.asset-mode.test.ts
similarity index 100%
rename from tests-ui/tests/renderer/extensions/vueNodes/widgets/components/WidgetSelect.asset-mode.test.ts
rename to src/renderer/extensions/vueNodes/widgets/components/WidgetSelect.asset-mode.test.ts
diff --git a/tests-ui/renderer/extensions/vueNodes/widgets/components/WidgetSelect.test.ts b/src/renderer/extensions/vueNodes/widgets/components/WidgetSelect.test.ts
similarity index 100%
rename from tests-ui/renderer/extensions/vueNodes/widgets/components/WidgetSelect.test.ts
rename to src/renderer/extensions/vueNodes/widgets/components/WidgetSelect.test.ts
diff --git a/tests-ui/tests/renderer/extensions/vueNodes/widgets/components/WidgetSelectDropdown.test.ts b/src/renderer/extensions/vueNodes/widgets/components/WidgetSelectDropdown.test.ts
similarity index 100%
rename from tests-ui/tests/renderer/extensions/vueNodes/widgets/components/WidgetSelectDropdown.test.ts
rename to src/renderer/extensions/vueNodes/widgets/components/WidgetSelectDropdown.test.ts
diff --git a/tests-ui/tests/composables/useAssetWidgetData.desktop.test.ts b/src/renderer/extensions/vueNodes/widgets/composables/useAssetWidgetData.desktop.test.ts
similarity index 100%
rename from tests-ui/tests/composables/useAssetWidgetData.desktop.test.ts
rename to src/renderer/extensions/vueNodes/widgets/composables/useAssetWidgetData.desktop.test.ts
diff --git a/tests-ui/tests/composables/useAssetWidgetData.test.ts b/src/renderer/extensions/vueNodes/widgets/composables/useAssetWidgetData.test.ts
similarity index 100%
rename from tests-ui/tests/composables/useAssetWidgetData.test.ts
rename to src/renderer/extensions/vueNodes/widgets/composables/useAssetWidgetData.test.ts
diff --git a/tests-ui/tests/renderer/extensions/vueNodes/widgets/composables/useComboWidget.test.ts b/src/renderer/extensions/vueNodes/widgets/composables/useComboWidget.test.ts
similarity index 100%
rename from tests-ui/tests/renderer/extensions/vueNodes/widgets/composables/useComboWidget.test.ts
rename to src/renderer/extensions/vueNodes/widgets/composables/useComboWidget.test.ts
diff --git a/tests-ui/tests/renderer/extensions/vueNodes/widgets/composables/useFloatWidget.test.ts b/src/renderer/extensions/vueNodes/widgets/composables/useFloatWidget.test.ts
similarity index 100%
rename from tests-ui/tests/renderer/extensions/vueNodes/widgets/composables/useFloatWidget.test.ts
rename to src/renderer/extensions/vueNodes/widgets/composables/useFloatWidget.test.ts
diff --git a/tests-ui/tests/renderer/extensions/vueNodes/widgets/composables/useIntWidget.test.ts b/src/renderer/extensions/vueNodes/widgets/composables/useIntWidget.test.ts
similarity index 100%
rename from tests-ui/tests/renderer/extensions/vueNodes/widgets/composables/useIntWidget.test.ts
rename to src/renderer/extensions/vueNodes/widgets/composables/useIntWidget.test.ts
diff --git a/tests-ui/tests/renderer/extensions/vueNodes/widgets/composables/useRemoteWidget.test.ts b/src/renderer/extensions/vueNodes/widgets/composables/useRemoteWidget.test.ts
similarity index 98%
rename from tests-ui/tests/renderer/extensions/vueNodes/widgets/composables/useRemoteWidget.test.ts
rename to src/renderer/extensions/vueNodes/widgets/composables/useRemoteWidget.test.ts
index 9a45d83ad..ef6d15359 100644
--- a/tests-ui/tests/renderer/extensions/vueNodes/widgets/composables/useRemoteWidget.test.ts
+++ b/src/renderer/extensions/vueNodes/widgets/composables/useRemoteWidget.test.ts
@@ -21,10 +21,10 @@ const mockCloudAuth = vi.hoisted(() => ({
}))
vi.mock('axios', async (importOriginal) => {
- const actual = await importOriginal()
+ const actual = await importOriginal()
return {
default: {
- ...actual.default,
+ ...actual,
get: vi.fn()
}
}
@@ -36,22 +36,16 @@ vi.mock('@/platform/distribution/types', () => ({
}
}))
-vi.mock('@/stores/firebaseAuthStore', async (importOriginal) => {
- const actual =
- await importOriginal()
+vi.mock('@/stores/firebaseAuthStore', async () => {
return {
- ...actual,
useFirebaseAuthStore: vi.fn(() => ({
getAuthHeader: vi.fn(() => Promise.resolve(mockCloudAuth.authHeader))
}))
}
})
-vi.mock('@/platform/settings/settingStore', async (importOriginal) => {
- const actual =
- await importOriginal()
+vi.mock('@/platform/settings/settingStore', async () => {
return {
- ...actual,
useSettingStore: () => ({
settings: {}
})
diff --git a/tests-ui/tests/renderer/extensions/vueNodes/widgets/composables/useWidgetRenderer.test.ts b/src/renderer/extensions/vueNodes/widgets/composables/useWidgetRenderer.test.ts
similarity index 100%
rename from tests-ui/tests/renderer/extensions/vueNodes/widgets/composables/useWidgetRenderer.test.ts
rename to src/renderer/extensions/vueNodes/widgets/composables/useWidgetRenderer.test.ts
diff --git a/tests-ui/tests/nodeDef.test.ts b/src/schemas/nodeDef/migration.test.ts
similarity index 100%
rename from tests-ui/tests/nodeDef.test.ts
rename to src/schemas/nodeDef/migration.test.ts
diff --git a/tests-ui/tests/apiTypes.test.ts b/src/schemas/nodeDefSchema.validation.test.ts
similarity index 94%
rename from tests-ui/tests/apiTypes.test.ts
rename to src/schemas/nodeDefSchema.validation.test.ts
index 1b6d4ee6f..707eabd3e 100644
--- a/tests-ui/tests/apiTypes.test.ts
+++ b/src/schemas/nodeDefSchema.validation.test.ts
@@ -1,9 +1,7 @@
import { describe, expect, it } from 'vitest'
-import {
- type ComfyNodeDef,
- validateComfyNodeDef
-} from '@/schemas/nodeDefSchema'
+import { validateComfyNodeDef } from '@/schemas/nodeDefSchema'
+import type { ComfyNodeDef } from '@/schemas/nodeDefSchema'
const EXAMPLE_NODE_DEF: ComfyNodeDef = {
input: {
diff --git a/tests-ui/tests/api.featureFlags.test.ts b/src/scripts/api.featureFlags.test.ts
similarity index 100%
rename from tests-ui/tests/api.featureFlags.test.ts
rename to src/scripts/api.featureFlags.test.ts
diff --git a/tests-ui/tests/api.fetchApi.test.ts b/src/scripts/api.fetchApi.test.ts
similarity index 100%
rename from tests-ui/tests/api.fetchApi.test.ts
rename to src/scripts/api.fetchApi.test.ts
diff --git a/tests-ui/tests/api.folderPaths.test.ts b/src/scripts/api.folderPaths.test.ts
similarity index 100%
rename from tests-ui/tests/api.folderPaths.test.ts
rename to src/scripts/api.folderPaths.test.ts
diff --git a/tests-ui/tests/widgets/domWidget.test.ts b/src/scripts/domWidget.test.ts
similarity index 100%
rename from tests-ui/tests/widgets/domWidget.test.ts
rename to src/scripts/domWidget.test.ts
diff --git a/tests-ui/tests/scripts/metadata/gltf.test.ts b/src/scripts/metadata/gltf.test.ts
similarity index 98%
rename from tests-ui/tests/scripts/metadata/gltf.test.ts
rename to src/scripts/metadata/gltf.test.ts
index d5cdef413..cead27180 100644
--- a/tests-ui/tests/scripts/metadata/gltf.test.ts
+++ b/src/scripts/metadata/gltf.test.ts
@@ -2,7 +2,7 @@ import { describe, expect, it } from 'vitest'
import { ASCII, GltfSizeBytes } from '@/types/metadataTypes'
-import { getGltfBinaryMetadata } from '../../../../src/scripts/metadata/gltf'
+import { getGltfBinaryMetadata } from './gltf'
describe('GLTF binary metadata parser', () => {
const createGLTFFileStructure = () => {
diff --git a/tests-ui/tests/scripts/metadata/ply.test.ts b/src/scripts/metadata/ply.test.ts
similarity index 100%
rename from tests-ui/tests/scripts/metadata/ply.test.ts
rename to src/scripts/metadata/ply.test.ts
diff --git a/tests-ui/tests/audioService.test.ts b/src/services/audioService.test.ts
similarity index 98%
rename from tests-ui/tests/audioService.test.ts
rename to src/services/audioService.test.ts
index 81fc46d9b..f26b60244 100644
--- a/tests-ui/tests/audioService.test.ts
+++ b/src/services/audioService.test.ts
@@ -1,9 +1,7 @@
import { beforeEach, describe, expect, it, vi } from 'vitest'
-import {
- type AudioRecordingError,
- useAudioService
-} from '@/services/audioService'
+import { useAudioService } from '@/services/audioService'
+import type { AudioRecordingError } from '@/services/audioService'
const mockRegister = vi.hoisted(() => vi.fn())
const mockConnect = vi.hoisted(() => vi.fn())
diff --git a/tests-ui/tests/services/customerEventsService.test.ts b/src/services/customerEventsService.test.ts
similarity index 100%
rename from tests-ui/tests/services/customerEventsService.test.ts
rename to src/services/customerEventsService.test.ts
diff --git a/tests-ui/tests/services/registrySearchGateway.test.ts b/src/services/gateway/registrySearchGateway.test.ts
similarity index 100%
rename from tests-ui/tests/services/registrySearchGateway.test.ts
rename to src/services/gateway/registrySearchGateway.test.ts
diff --git a/tests-ui/tests/services/keybindingService.escape.test.ts b/src/services/keybindingService.escape.test.ts
similarity index 100%
rename from tests-ui/tests/services/keybindingService.escape.test.ts
rename to src/services/keybindingService.escape.test.ts
diff --git a/tests-ui/tests/services/keybindingService.forwarding.test.ts b/src/services/keybindingService.forwarding.test.ts
similarity index 100%
rename from tests-ui/tests/services/keybindingService.forwarding.test.ts
rename to src/services/keybindingService.forwarding.test.ts
diff --git a/tests-ui/tests/services/mediaCacheService.test.ts b/src/services/mediaCacheService.test.ts
similarity index 92%
rename from tests-ui/tests/services/mediaCacheService.test.ts
rename to src/services/mediaCacheService.test.ts
index 8f58559ca..1860344cc 100644
--- a/tests-ui/tests/services/mediaCacheService.test.ts
+++ b/src/services/mediaCacheService.test.ts
@@ -1,6 +1,6 @@
import { describe, expect, it, vi } from 'vitest'
-import { useMediaCache } from '../../../src/services/mediaCacheService'
+import { useMediaCache } from './mediaCacheService'
// Mock fetch
global.fetch = vi.fn()
diff --git a/tests-ui/tests/services/newUserService.test.ts b/src/services/newUserService.test.ts
similarity index 98%
rename from tests-ui/tests/services/newUserService.test.ts
rename to src/services/newUserService.test.ts
index e940a785b..43fcc92cd 100644
--- a/tests-ui/tests/services/newUserService.test.ts
+++ b/src/services/newUserService.test.ts
@@ -19,12 +19,12 @@ vi.mock('@/config/version', () => ({
//@ts-expect-error Define global for the test
global.__COMFYUI_FRONTEND_VERSION__ = '1.24.0'
+import type { newUserService as NewUserServiceType } from '@/services/newUserService'
+
describe('newUserService', () => {
- let service: ReturnType<
- typeof import('@/services/newUserService').newUserService
- >
+ let service: ReturnType
let mockSettingStore: any
- let newUserService: typeof import('@/services/newUserService').newUserService
+ let newUserService: typeof NewUserServiceType
beforeEach(async () => {
vi.clearAllMocks()
diff --git a/tests-ui/tests/services/nodeOrganizationService.test.ts b/src/services/nodeOrganizationService.test.ts
similarity index 100%
rename from tests-ui/tests/services/nodeOrganizationService.test.ts
rename to src/services/nodeOrganizationService.test.ts
diff --git a/tests-ui/tests/nodeSearchService.test.ts b/src/services/nodeSearchService.test.ts
similarity index 100%
rename from tests-ui/tests/nodeSearchService.test.ts
rename to src/services/nodeSearchService.test.ts
diff --git a/tests-ui/tests/services/algoliaSearchProvider.test.ts b/src/services/providers/algoliaSearchProvider.test.ts
similarity index 100%
rename from tests-ui/tests/services/algoliaSearchProvider.test.ts
rename to src/services/providers/algoliaSearchProvider.test.ts
diff --git a/tests-ui/tests/services/registrySearchProvider.test.ts b/src/services/providers/registrySearchProvider.test.ts
similarity index 100%
rename from tests-ui/tests/services/registrySearchProvider.test.ts
rename to src/services/providers/registrySearchProvider.test.ts
diff --git a/tests-ui/tests/store/assetsStore.test.ts b/src/stores/assetsStore.test.ts
similarity index 100%
rename from tests-ui/tests/store/assetsStore.test.ts
rename to src/stores/assetsStore.test.ts
diff --git a/tests-ui/tests/store/comfyRegistryStore.test.ts b/src/stores/comfyRegistryStore.test.ts
similarity index 100%
rename from tests-ui/tests/store/comfyRegistryStore.test.ts
rename to src/stores/comfyRegistryStore.test.ts
diff --git a/tests-ui/tests/store/dialogStore.test.ts b/src/stores/dialogStore.test.ts
similarity index 100%
rename from tests-ui/tests/store/dialogStore.test.ts
rename to src/stores/dialogStore.test.ts
diff --git a/tests-ui/tests/domWidgetStore.test.ts b/src/stores/domWidgetStore.test.ts
similarity index 100%
rename from tests-ui/tests/domWidgetStore.test.ts
rename to src/stores/domWidgetStore.test.ts
diff --git a/tests-ui/tests/store/executionStore.test.ts b/src/stores/executionStore.test.ts
similarity index 97%
rename from tests-ui/tests/store/executionStore.test.ts
rename to src/stores/executionStore.test.ts
index 7c893bd60..75b6f4a43 100644
--- a/tests-ui/tests/store/executionStore.test.ts
+++ b/src/stores/executionStore.test.ts
@@ -9,11 +9,13 @@ const mockNodeExecutionIdToNodeLocatorId = vi.fn()
const mockNodeIdToNodeLocatorId = vi.fn()
const mockNodeLocatorIdToNodeExecutionId = vi.fn()
+import type * as WorkflowStoreModule from '@/platform/workflow/management/stores/workflowStore'
+
// Mock the workflowStore
vi.mock('@/platform/workflow/management/stores/workflowStore', async () => {
- const { ComfyWorkflow } = await vi.importActual<
- typeof import('@/platform/workflow/management/stores/workflowStore')
- >('@/platform/workflow/management/stores/workflowStore')
+ const { ComfyWorkflow } = await vi.importActual(
+ '@/platform/workflow/management/stores/workflowStore'
+ )
return {
ComfyWorkflow,
useWorkflowStore: vi.fn(() => ({
diff --git a/tests-ui/tests/store/firebaseAuthStore.test.ts b/src/stores/firebaseAuthStore.test.ts
similarity index 99%
rename from tests-ui/tests/store/firebaseAuthStore.test.ts
rename to src/stores/firebaseAuthStore.test.ts
index 4e29fdaea..bbad43264 100644
--- a/tests-ui/tests/store/firebaseAuthStore.test.ts
+++ b/src/stores/firebaseAuthStore.test.ts
@@ -51,7 +51,7 @@ vi.mock('vue-i18n', () => ({
}))
vi.mock('firebase/auth', async (importOriginal) => {
- const actual = await importOriginal()
+ const actual = await importOriginal()
return {
...actual,
signInWithEmailAndPassword: vi.fn(),
diff --git a/tests-ui/tests/store/imagePreviewStore.test.ts b/src/stores/imagePreviewStore.test.ts
similarity index 100%
rename from tests-ui/tests/store/imagePreviewStore.test.ts
rename to src/stores/imagePreviewStore.test.ts
diff --git a/tests-ui/tests/store/keybindingStore.test.ts b/src/stores/keybindingStore.test.ts
similarity index 100%
rename from tests-ui/tests/store/keybindingStore.test.ts
rename to src/stores/keybindingStore.test.ts
diff --git a/tests-ui/tests/store/modelStore.test.ts b/src/stores/modelStore.test.ts
similarity index 100%
rename from tests-ui/tests/store/modelStore.test.ts
rename to src/stores/modelStore.test.ts
diff --git a/tests-ui/tests/store/modelToNodeStore.test.ts b/src/stores/modelToNodeStore.test.ts
similarity index 100%
rename from tests-ui/tests/store/modelToNodeStore.test.ts
rename to src/stores/modelToNodeStore.test.ts
diff --git a/tests-ui/tests/store/nodeDefStore.test.ts b/src/stores/nodeDefStore.test.ts
similarity index 98%
rename from tests-ui/tests/store/nodeDefStore.test.ts
rename to src/stores/nodeDefStore.test.ts
index 071565a6c..d4d9828d4 100644
--- a/tests-ui/tests/store/nodeDefStore.test.ts
+++ b/src/stores/nodeDefStore.test.ts
@@ -2,7 +2,8 @@ import { createPinia, setActivePinia } from 'pinia'
import { beforeEach, describe, expect, it } from 'vitest'
import type { ComfyNodeDef } from '@/schemas/nodeDefSchema'
-import { type NodeDefFilter, useNodeDefStore } from '@/stores/nodeDefStore'
+import { useNodeDefStore } from '@/stores/nodeDefStore'
+import type { NodeDefFilter } from '@/stores/nodeDefStore'
describe('useNodeDefStore', () => {
let store: ReturnType
diff --git a/tests-ui/tests/stores/queueStore.loadWorkflow.test.ts b/src/stores/queueStore.loadWorkflow.test.ts
similarity index 100%
rename from tests-ui/tests/stores/queueStore.loadWorkflow.test.ts
rename to src/stores/queueStore.loadWorkflow.test.ts
diff --git a/tests-ui/tests/store/queueStore.test.ts b/src/stores/queueStore.test.ts
similarity index 100%
rename from tests-ui/tests/store/queueStore.test.ts
rename to src/stores/queueStore.test.ts
diff --git a/tests-ui/tests/store/serverConfigStore.test.ts b/src/stores/serverConfigStore.test.ts
similarity index 100%
rename from tests-ui/tests/store/serverConfigStore.test.ts
rename to src/stores/serverConfigStore.test.ts
diff --git a/tests-ui/tests/store/subgraphNavigationStore.test.ts b/src/stores/subgraphNavigationStore.test.ts
similarity index 100%
rename from tests-ui/tests/store/subgraphNavigationStore.test.ts
rename to src/stores/subgraphNavigationStore.test.ts
diff --git a/tests-ui/tests/store/subgraphNavigationStore.viewport.test.ts b/src/stores/subgraphNavigationStore.viewport.test.ts
similarity index 100%
rename from tests-ui/tests/store/subgraphNavigationStore.viewport.test.ts
rename to src/stores/subgraphNavigationStore.viewport.test.ts
diff --git a/tests-ui/tests/store/subgraphStore.test.ts b/src/stores/subgraphStore.test.ts
similarity index 98%
rename from tests-ui/tests/store/subgraphStore.test.ts
rename to src/stores/subgraphStore.test.ts
index d41c3e817..68f528ae4 100644
--- a/tests-ui/tests/store/subgraphStore.test.ts
+++ b/src/stores/subgraphStore.test.ts
@@ -11,7 +11,7 @@ import { useSubgraphStore } from '@/stores/subgraphStore'
import {
createTestSubgraph,
createTestSubgraphNode
-} from '../litegraph/subgraph/fixtures/subgraphHelpers'
+} from '@/lib/litegraph/src/subgraph/__fixtures__/subgraphHelpers'
// Mock telemetry to break circular dependency (telemetry → workflowStore → app → telemetry)
vi.mock('@/platform/telemetry', () => ({
diff --git a/tests-ui/tests/store/systemStatsStore.test.ts b/src/stores/systemStatsStore.test.ts
similarity index 100%
rename from tests-ui/tests/store/systemStatsStore.test.ts
rename to src/stores/systemStatsStore.test.ts
diff --git a/tests-ui/tests/store/userFileStore.test.ts b/src/stores/userFileStore.test.ts
similarity index 100%
rename from tests-ui/tests/store/userFileStore.test.ts
rename to src/stores/userFileStore.test.ts
diff --git a/tests-ui/tests/store/bottomPanelStore.test.ts b/src/stores/workspace/bottomPanelStore.test.ts
similarity index 100%
rename from tests-ui/tests/store/bottomPanelStore.test.ts
rename to src/stores/workspace/bottomPanelStore.test.ts
diff --git a/tests-ui/tests/store/nodeHelpStore.test.ts b/src/stores/workspace/nodeHelpStore.test.ts
similarity index 100%
rename from tests-ui/tests/store/nodeHelpStore.test.ts
rename to src/stores/workspace/nodeHelpStore.test.ts
diff --git a/tests-ui/tests/store/searchBoxStore.test.ts b/src/stores/workspace/searchBoxStore.test.ts
similarity index 100%
rename from tests-ui/tests/store/searchBoxStore.test.ts
rename to src/stores/workspace/searchBoxStore.test.ts
diff --git a/tests-ui/tests/types/nodeIdentification.test.ts b/src/types/nodeIdentification.test.ts
similarity index 99%
rename from tests-ui/tests/types/nodeIdentification.test.ts
rename to src/types/nodeIdentification.test.ts
index 5b2a94325..39288a9c0 100644
--- a/tests-ui/tests/types/nodeIdentification.test.ts
+++ b/src/types/nodeIdentification.test.ts
@@ -2,7 +2,6 @@ import { describe, expect, it } from 'vitest'
import type { NodeId } from '@/platform/workflow/validation/schemas/workflowSchema'
import {
- type NodeLocatorId,
createNodeExecutionId,
createNodeLocatorId,
isNodeExecutionId,
@@ -10,6 +9,7 @@ import {
parseNodeExecutionId,
parseNodeLocatorId
} from '@/types/nodeIdentification'
+import type { NodeLocatorId } from '@/types/nodeIdentification'
describe('nodeIdentification', () => {
describe('NodeLocatorId', () => {
diff --git a/tests-ui/tests/nodeSource.test.ts b/src/types/nodeSource.test.ts
similarity index 100%
rename from tests-ui/tests/nodeSource.test.ts
rename to src/types/nodeSource.test.ts
diff --git a/tests-ui/tests/colorUtil.test.ts b/src/utils/colorUtil.test.ts
similarity index 100%
rename from tests-ui/tests/colorUtil.test.ts
rename to src/utils/colorUtil.test.ts
diff --git a/tests-ui/tests/utils/executableGroupNodeChildDTO.test.ts b/src/utils/executableGroupNodeChildDTO.test.ts
similarity index 100%
rename from tests-ui/tests/utils/executableGroupNodeChildDTO.test.ts
rename to src/utils/executableGroupNodeChildDTO.test.ts
diff --git a/tests-ui/tests/utils/graphTraversalUtil.test.ts b/src/utils/graphTraversalUtil.test.ts
similarity index 99%
rename from tests-ui/tests/utils/graphTraversalUtil.test.ts
rename to src/utils/graphTraversalUtil.test.ts
index 2af5a6ee9..2b3f1bfbc 100644
--- a/tests-ui/tests/utils/graphTraversalUtil.test.ts
+++ b/src/utils/graphTraversalUtil.test.ts
@@ -1,3 +1,4 @@
+// oxlint-disable no-misused-spread
import { describe, expect, it, vi } from 'vitest'
import type {
diff --git a/tests-ui/tests/utils/hostWhitelist.test.ts b/src/utils/hostWhitelist.test.ts
similarity index 100%
rename from tests-ui/tests/utils/hostWhitelist.test.ts
rename to src/utils/hostWhitelist.test.ts
diff --git a/tests-ui/tests/utils/litegraphUtil.test.ts b/src/utils/litegraphUtil.test.ts
similarity index 100%
rename from tests-ui/tests/utils/litegraphUtil.test.ts
rename to src/utils/litegraphUtil.test.ts
diff --git a/tests-ui/tests/utils/markdownRendererUtil.test.ts b/src/utils/markdownRendererUtil.test.ts
similarity index 100%
rename from tests-ui/tests/utils/markdownRendererUtil.test.ts
rename to src/utils/markdownRendererUtil.test.ts
diff --git a/tests-ui/tests/utils/mathUtil.test.ts b/src/utils/mathUtil.test.ts
similarity index 100%
rename from tests-ui/tests/utils/mathUtil.test.ts
rename to src/utils/mathUtil.test.ts
diff --git a/tests-ui/tests/utils/migration/workflows/reroute/legacy/branching.json b/src/utils/migration/__fixtures__/reroute/legacy/branching.json
similarity index 100%
rename from tests-ui/tests/utils/migration/workflows/reroute/legacy/branching.json
rename to src/utils/migration/__fixtures__/reroute/legacy/branching.json
diff --git a/tests-ui/tests/utils/migration/workflows/reroute/legacy/floating.json b/src/utils/migration/__fixtures__/reroute/legacy/floating.json
similarity index 100%
rename from tests-ui/tests/utils/migration/workflows/reroute/legacy/floating.json
rename to src/utils/migration/__fixtures__/reroute/legacy/floating.json
diff --git a/tests-ui/tests/utils/migration/workflows/reroute/legacy/floating_branch.json b/src/utils/migration/__fixtures__/reroute/legacy/floating_branch.json
similarity index 100%
rename from tests-ui/tests/utils/migration/workflows/reroute/legacy/floating_branch.json
rename to src/utils/migration/__fixtures__/reroute/legacy/floating_branch.json
diff --git a/tests-ui/tests/utils/migration/workflows/reroute/legacy/single_connected.json b/src/utils/migration/__fixtures__/reroute/legacy/single_connected.json
similarity index 100%
rename from tests-ui/tests/utils/migration/workflows/reroute/legacy/single_connected.json
rename to src/utils/migration/__fixtures__/reroute/legacy/single_connected.json
diff --git a/tests-ui/tests/utils/migration/workflows/reroute/native/branching.json b/src/utils/migration/__fixtures__/reroute/native/branching.json
similarity index 100%
rename from tests-ui/tests/utils/migration/workflows/reroute/native/branching.json
rename to src/utils/migration/__fixtures__/reroute/native/branching.json
diff --git a/tests-ui/tests/utils/migration/workflows/reroute/native/floating.json b/src/utils/migration/__fixtures__/reroute/native/floating.json
similarity index 100%
rename from tests-ui/tests/utils/migration/workflows/reroute/native/floating.json
rename to src/utils/migration/__fixtures__/reroute/native/floating.json
diff --git a/tests-ui/tests/utils/migration/workflows/reroute/native/floating_branch.json b/src/utils/migration/__fixtures__/reroute/native/floating_branch.json
similarity index 100%
rename from tests-ui/tests/utils/migration/workflows/reroute/native/floating_branch.json
rename to src/utils/migration/__fixtures__/reroute/native/floating_branch.json
diff --git a/tests-ui/tests/utils/migration/workflows/reroute/native/single_connected.json b/src/utils/migration/__fixtures__/reroute/native/single_connected.json
similarity index 100%
rename from tests-ui/tests/utils/migration/workflows/reroute/native/single_connected.json
rename to src/utils/migration/__fixtures__/reroute/native/single_connected.json
diff --git a/tests-ui/tests/utils/migration/migrateReroute.test.ts b/src/utils/migration/migrateReroute.test.ts
similarity index 90%
rename from tests-ui/tests/utils/migration/migrateReroute.test.ts
rename to src/utils/migration/migrateReroute.test.ts
index ce7b62a2e..a6fa00bf6 100644
--- a/tests-ui/tests/utils/migration/migrateReroute.test.ts
+++ b/src/utils/migration/migrateReroute.test.ts
@@ -22,7 +22,7 @@ describe('migrateReroute', () => {
])('should correctly migrate %s', async (fileName) => {
// Load the legacy workflow
const legacyWorkflow = loadWorkflow(
- `workflows/reroute/legacy/${fileName}`
+ `__fixtures__/reroute/legacy/${fileName}`
)
// Migrate the workflow
@@ -31,7 +31,7 @@ describe('migrateReroute', () => {
// Compare with snapshot
await expect(
JSON.stringify(migratedWorkflow, null, 2)
- ).toMatchFileSnapshot(`workflows/reroute/native/${fileName}`)
+ ).toMatchFileSnapshot(`__fixtures__/reroute/native/${fileName}`)
})
})
})
diff --git a/tests-ui/tests/utils/nodeDefUtil.test.ts b/src/utils/nodeDefUtil.test.ts
similarity index 100%
rename from tests-ui/tests/utils/nodeDefUtil.test.ts
rename to src/utils/nodeDefUtil.test.ts
diff --git a/tests-ui/tests/utils/nodeFilterUtil.test.ts b/src/utils/nodeFilterUtil.test.ts
similarity index 100%
rename from tests-ui/tests/utils/nodeFilterUtil.test.ts
rename to src/utils/nodeFilterUtil.test.ts
diff --git a/tests-ui/tests/utils/packUtils.test.ts b/src/utils/packUtils.test.ts
similarity index 100%
rename from tests-ui/tests/utils/packUtils.test.ts
rename to src/utils/packUtils.test.ts
diff --git a/tests-ui/tests/utils/serachAndReplace.test.ts b/src/utils/searchAndReplace.test.ts
similarity index 100%
rename from tests-ui/tests/utils/serachAndReplace.test.ts
rename to src/utils/searchAndReplace.test.ts
diff --git a/tests-ui/tests/utils/treeUtilTest.test.ts b/src/utils/treeUtil.test.ts
similarity index 100%
rename from tests-ui/tests/utils/treeUtilTest.test.ts
rename to src/utils/treeUtil.test.ts
diff --git a/tests-ui/tests/utils/typeGuardUtil.test.ts b/src/utils/typeGuardUtil.test.ts
similarity index 100%
rename from tests-ui/tests/utils/typeGuardUtil.test.ts
rename to src/utils/typeGuardUtil.test.ts
diff --git a/tests-ui/tests/components/dialog/footer/ManagerProgressFooter.test.ts b/src/workbench/extensions/manager/components/ManagerProgressFooter.test.ts
similarity index 100%
rename from tests-ui/tests/components/dialog/footer/ManagerProgressFooter.test.ts
rename to src/workbench/extensions/manager/components/ManagerProgressFooter.test.ts
diff --git a/tests-ui/tests/components/dialog/content/manager/NodeConflictDialogContent.test.ts b/src/workbench/extensions/manager/components/manager/NodeConflictDialogContent.test.ts
similarity index 100%
rename from tests-ui/tests/components/dialog/content/manager/NodeConflictDialogContent.test.ts
rename to src/workbench/extensions/manager/components/manager/NodeConflictDialogContent.test.ts
diff --git a/tests-ui/tests/components/dialog/content/manager/packCard/PackCard.test.ts b/src/workbench/extensions/manager/components/manager/packCard/PackCard.test.ts
similarity index 100%
rename from tests-ui/tests/components/dialog/content/manager/packCard/PackCard.test.ts
rename to src/workbench/extensions/manager/components/manager/packCard/PackCard.test.ts
diff --git a/tests-ui/tests/composables/useMissingNodes.test.ts b/src/workbench/extensions/manager/composables/nodePack/useMissingNodes.test.ts
similarity index 99%
rename from tests-ui/tests/composables/useMissingNodes.test.ts
rename to src/workbench/extensions/manager/composables/nodePack/useMissingNodes.test.ts
index 04a4e5ffd..a467bf098 100644
--- a/tests-ui/tests/composables/useMissingNodes.test.ts
+++ b/src/workbench/extensions/manager/composables/nodePack/useMissingNodes.test.ts
@@ -9,8 +9,7 @@ import { useWorkflowPacks } from '@/workbench/extensions/manager/composables/nod
import { useComfyManagerStore } from '@/workbench/extensions/manager/stores/comfyManagerStore'
vi.mock('@vueuse/core', async () => {
- const actual =
- await vi.importActual('@vueuse/core')
+ const actual = await vi.importActual('@vueuse/core')
return {
...actual,
createSharedComposable: any>(fn: Fn) => fn
diff --git a/tests-ui/tests/composables/nodePack/usePacksSelection.test.ts b/src/workbench/extensions/manager/composables/nodePack/usePacksSelection.test.ts
similarity index 100%
rename from tests-ui/tests/composables/nodePack/usePacksSelection.test.ts
rename to src/workbench/extensions/manager/composables/nodePack/usePacksSelection.test.ts
diff --git a/tests-ui/tests/composables/nodePack/usePacksStatus.test.ts b/src/workbench/extensions/manager/composables/nodePack/usePacksStatus.test.ts
similarity index 100%
rename from tests-ui/tests/composables/nodePack/usePacksStatus.test.ts
rename to src/workbench/extensions/manager/composables/nodePack/usePacksStatus.test.ts
diff --git a/tests-ui/tests/composables/useUpdateAvailableNodes.test.ts b/src/workbench/extensions/manager/composables/nodePack/useUpdateAvailableNodes.test.ts
similarity index 100%
rename from tests-ui/tests/composables/useUpdateAvailableNodes.test.ts
rename to src/workbench/extensions/manager/composables/nodePack/useUpdateAvailableNodes.test.ts
diff --git a/tests-ui/tests/composables/useConflictAcknowledgment.test.ts b/src/workbench/extensions/manager/composables/useConflictAcknowledgment.test.ts
similarity index 100%
rename from tests-ui/tests/composables/useConflictAcknowledgment.test.ts
rename to src/workbench/extensions/manager/composables/useConflictAcknowledgment.test.ts
diff --git a/tests-ui/tests/composables/useConflictDetection.test.ts b/src/workbench/extensions/manager/composables/useConflictDetection.test.ts
similarity index 100%
rename from tests-ui/tests/composables/useConflictDetection.test.ts
rename to src/workbench/extensions/manager/composables/useConflictDetection.test.ts
diff --git a/tests-ui/tests/composables/useImportFailedDetection.test.ts b/src/workbench/extensions/manager/composables/useImportFailedDetection.test.ts
similarity index 98%
rename from tests-ui/tests/composables/useImportFailedDetection.test.ts
rename to src/workbench/extensions/manager/composables/useImportFailedDetection.test.ts
index 5a6614ca0..39619d5ed 100644
--- a/tests-ui/tests/composables/useImportFailedDetection.test.ts
+++ b/src/workbench/extensions/manager/composables/useImportFailedDetection.test.ts
@@ -11,8 +11,8 @@ import * as conflictDetectionStore from '@/workbench/extensions/manager/stores/c
vi.mock('@/workbench/extensions/manager/stores/comfyManagerStore')
vi.mock('@/workbench/extensions/manager/stores/conflictDetectionStore')
vi.mock('@/services/dialogService')
-vi.mock('vue-i18n', async (importOriginal) => {
- const actual = await importOriginal()
+vi.mock('vue-i18n', async () => {
+ const actual = await vi.importActual('vue-i18n')
return {
...actual,
useI18n: () => ({
diff --git a/tests-ui/tests/composables/useManagerQueue.test.ts b/src/workbench/extensions/manager/composables/useManagerQueue.test.ts
similarity index 100%
rename from tests-ui/tests/composables/useManagerQueue.test.ts
rename to src/workbench/extensions/manager/composables/useManagerQueue.test.ts
diff --git a/tests-ui/tests/composables/useManagerState.test.ts b/src/workbench/extensions/manager/composables/useManagerState.test.ts
similarity index 100%
rename from tests-ui/tests/composables/useManagerState.test.ts
rename to src/workbench/extensions/manager/composables/useManagerState.test.ts
diff --git a/tests-ui/tests/store/comfyManagerStore.test.ts b/src/workbench/extensions/manager/stores/comfyManagerStore.test.ts
similarity index 100%
rename from tests-ui/tests/store/comfyManagerStore.test.ts
rename to src/workbench/extensions/manager/stores/comfyManagerStore.test.ts
diff --git a/tests-ui/tests/stores/conflictDetectionStore.test.ts b/src/workbench/extensions/manager/stores/conflictDetectionStore.test.ts
similarity index 100%
rename from tests-ui/tests/stores/conflictDetectionStore.test.ts
rename to src/workbench/extensions/manager/stores/conflictDetectionStore.test.ts
diff --git a/tests-ui/tests/utils/conflictUtils.test.ts b/src/workbench/extensions/manager/utils/conflictUtils.test.ts
similarity index 100%
rename from tests-ui/tests/utils/conflictUtils.test.ts
rename to src/workbench/extensions/manager/utils/conflictUtils.test.ts
diff --git a/tests-ui/tests/workbench/extensions/manager/utils/graphHasMissingNodes.test.ts b/src/workbench/extensions/manager/utils/graphHasMissingNodes.test.ts
similarity index 100%
rename from tests-ui/tests/workbench/extensions/manager/utils/graphHasMissingNodes.test.ts
rename to src/workbench/extensions/manager/utils/graphHasMissingNodes.test.ts
diff --git a/tests-ui/tests/utils/systemCompatibility.test.ts b/src/workbench/extensions/manager/utils/systemCompatibility.test.ts
similarity index 100%
rename from tests-ui/tests/utils/systemCompatibility.test.ts
rename to src/workbench/extensions/manager/utils/systemCompatibility.test.ts
diff --git a/tests-ui/tests/utils/versionUtil.test.ts b/src/workbench/extensions/manager/utils/versionUtil.test.ts
similarity index 100%
rename from tests-ui/tests/utils/versionUtil.test.ts
rename to src/workbench/extensions/manager/utils/versionUtil.test.ts
diff --git a/tests-ui/utils/modelMetadataUtil.test.ts b/src/workbench/utils/modelMetadataUtil.test.ts
similarity index 100%
rename from tests-ui/utils/modelMetadataUtil.test.ts
rename to src/workbench/utils/modelMetadataUtil.test.ts
diff --git a/tests-ui/tests/utils/nodeDefOrderingUtil.test.ts b/src/workbench/utils/nodeDefOrderingUtil.test.ts
similarity index 100%
rename from tests-ui/tests/utils/nodeDefOrderingUtil.test.ts
rename to src/workbench/utils/nodeDefOrderingUtil.test.ts
diff --git a/tests-ui/CLAUDE.md b/tests-ui/CLAUDE.md
deleted file mode 100644
index 10e5d660b..000000000
--- a/tests-ui/CLAUDE.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# Unit Testing Guidelines
-
-## Running Tests
-- Single file: `pnpm test:unit -- `
-- All tests: `pnpm test:unit`
-- Wrong Examples:
- - Still runs all tests: `pnpm test:unit `
-
-## Testing Approach
-
-- Write tests for new features
-- Run single tests for performance
-- Follow existing test patterns
-
-## Test Structure
-
-- Check @tests-ui/README.md for guidelines
-- Use existing test utilities
-- Mock external dependencies
-
-## Mocking
-- Read: https://vitest.dev/api/mock.html
-- Critical: Always prefer vitest mock functions over writing verbose manual mocks
diff --git a/tests-ui/fixtures/historySortingFixtures.ts b/tests-ui/fixtures/historySortingFixtures.ts
deleted file mode 100644
index a7b630667..000000000
--- a/tests-ui/fixtures/historySortingFixtures.ts
+++ /dev/null
@@ -1,258 +0,0 @@
-/**
- * @fileoverview Test fixtures for history V2 timestamp-based sorting
- */
-import type { HistoryResponseV2 } from '@/platform/remote/comfyui/history/types/historyV2Types'
-
-export const historyV2WithMissingTimestamp: HistoryResponseV2 = {
- history: [
- {
- prompt_id: 'item-timestamp-1000',
- prompt: {
- priority: 0,
- prompt_id: 'item-timestamp-1000',
- extra_data: {
- client_id: 'test-client'
- }
- },
- outputs: {
- '1': {
- images: [{ filename: 'test1.png', type: 'output', subfolder: '' }]
- }
- },
- status: {
- status_str: 'success',
- completed: true,
- messages: [
- [
- 'execution_success',
- { prompt_id: 'item-timestamp-1000', timestamp: 1000 }
- ]
- ]
- }
- },
- {
- prompt_id: 'item-timestamp-2000',
- prompt: {
- priority: 0,
- prompt_id: 'item-timestamp-2000',
- extra_data: {
- client_id: 'test-client'
- }
- },
- outputs: {
- '2': {
- images: [{ filename: 'test2.png', type: 'output', subfolder: '' }]
- }
- },
- status: {
- status_str: 'success',
- completed: true,
- messages: [
- [
- 'execution_success',
- { prompt_id: 'item-timestamp-2000', timestamp: 2000 }
- ]
- ]
- }
- },
- {
- prompt_id: 'item-no-timestamp',
- prompt: {
- priority: 0,
- prompt_id: 'item-no-timestamp',
- extra_data: {
- client_id: 'test-client'
- }
- },
- outputs: {
- '3': {
- images: [{ filename: 'test3.png', type: 'output', subfolder: '' }]
- }
- },
- status: {
- status_str: 'success',
- completed: true,
- messages: []
- }
- }
- ]
-}
-
-export const historyV2FiveItemsSorting: HistoryResponseV2 = {
- history: [
- {
- prompt_id: 'item-timestamp-3000',
- prompt: {
- priority: 0,
- prompt_id: 'item-timestamp-3000',
- extra_data: { client_id: 'test-client' }
- },
- outputs: {
- '1': {
- images: [{ filename: 'test1.png', type: 'output', subfolder: '' }]
- }
- },
- status: {
- status_str: 'success',
- completed: true,
- messages: [
- [
- 'execution_success',
- { prompt_id: 'item-timestamp-3000', timestamp: 3000 }
- ]
- ]
- }
- },
- {
- prompt_id: 'item-timestamp-1000',
- prompt: {
- priority: 0,
- prompt_id: 'item-timestamp-1000',
- extra_data: { client_id: 'test-client' }
- },
- outputs: {
- '2': {
- images: [{ filename: 'test2.png', type: 'output', subfolder: '' }]
- }
- },
- status: {
- status_str: 'success',
- completed: true,
- messages: [
- [
- 'execution_success',
- { prompt_id: 'item-timestamp-1000', timestamp: 1000 }
- ]
- ]
- }
- },
- {
- prompt_id: 'item-timestamp-5000',
- prompt: {
- priority: 0,
- prompt_id: 'item-timestamp-5000',
- extra_data: { client_id: 'test-client' }
- },
- outputs: {
- '3': {
- images: [{ filename: 'test3.png', type: 'output', subfolder: '' }]
- }
- },
- status: {
- status_str: 'success',
- completed: true,
- messages: [
- [
- 'execution_success',
- { prompt_id: 'item-timestamp-5000', timestamp: 5000 }
- ]
- ]
- }
- },
- {
- prompt_id: 'item-timestamp-2000',
- prompt: {
- priority: 0,
- prompt_id: 'item-timestamp-2000',
- extra_data: { client_id: 'test-client' }
- },
- outputs: {
- '4': {
- images: [{ filename: 'test4.png', type: 'output', subfolder: '' }]
- }
- },
- status: {
- status_str: 'success',
- completed: true,
- messages: [
- [
- 'execution_success',
- { prompt_id: 'item-timestamp-2000', timestamp: 2000 }
- ]
- ]
- }
- },
- {
- prompt_id: 'item-timestamp-4000',
- prompt: {
- priority: 0,
- prompt_id: 'item-timestamp-4000',
- extra_data: { client_id: 'test-client' }
- },
- outputs: {
- '5': {
- images: [{ filename: 'test5.png', type: 'output', subfolder: '' }]
- }
- },
- status: {
- status_str: 'success',
- completed: true,
- messages: [
- [
- 'execution_success',
- { prompt_id: 'item-timestamp-4000', timestamp: 4000 }
- ]
- ]
- }
- }
- ]
-}
-
-export const historyV2MultipleNoTimestamp: HistoryResponseV2 = {
- history: [
- {
- prompt_id: 'item-no-timestamp-1',
- prompt: {
- priority: 0,
- prompt_id: 'item-no-timestamp-1',
- extra_data: { client_id: 'test-client' }
- },
- outputs: {
- '1': {
- images: [{ filename: 'test1.png', type: 'output', subfolder: '' }]
- }
- },
- status: {
- status_str: 'success',
- completed: true,
- messages: []
- }
- },
- {
- prompt_id: 'item-no-timestamp-2',
- prompt: {
- priority: 0,
- prompt_id: 'item-no-timestamp-2',
- extra_data: { client_id: 'test-client' }
- },
- outputs: {
- '2': {
- images: [{ filename: 'test2.png', type: 'output', subfolder: '' }]
- }
- },
- status: {
- status_str: 'success',
- completed: true,
- messages: []
- }
- },
- {
- prompt_id: 'item-no-timestamp-3',
- prompt: {
- priority: 0,
- prompt_id: 'item-no-timestamp-3',
- extra_data: { client_id: 'test-client' }
- },
- outputs: {
- '3': {
- images: [{ filename: 'test3.png', type: 'output', subfolder: '' }]
- }
- },
- status: {
- status_str: 'success',
- completed: true,
- messages: []
- }
- }
- ]
-}
diff --git a/tests-ui/tests/litegraph.test.ts b/tests-ui/tests/litegraph.test.ts
deleted file mode 100644
index 068da2fb5..000000000
--- a/tests-ui/tests/litegraph.test.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-import { describe, expect, it } from 'vitest'
-
-import { LGraph, LGraphNode, LiteGraph } from '@/lib/litegraph/src/litegraph'
-
-function swapNodes(nodes: LGraphNode[]) {
- const firstNode = nodes[0]
- const lastNode = nodes[nodes.length - 1]
- nodes[0] = lastNode
- nodes[nodes.length - 1] = firstNode
- return nodes
-}
-
-function createGraph(...nodes: LGraphNode[]) {
- const graph = new LGraph()
- nodes.forEach((node) => graph.add(node))
- return graph
-}
-
-class DummyNode extends LGraphNode {
- constructor() {
- super('dummy')
- }
-}
-
-describe('LGraph', () => {
- it('should serialize deterministic node order', async () => {
- LiteGraph.registerNodeType('dummy', DummyNode)
- const node1 = new DummyNode()
- const node2 = new DummyNode()
- const graph = createGraph(node1, node2)
-
- const result1 = graph.serialize({ sortNodes: true })
- expect(result1.nodes).not.toHaveLength(0)
- graph._nodes = swapNodes(graph.nodes)
- const result2 = graph.serialize({ sortNodes: true })
-
- expect(result1).toEqual(result2)
- })
-})
diff --git a/tests-ui/tests/litegraph/README.md b/tests-ui/tests/litegraph/README.md
deleted file mode 100644
index eacc17a4c..000000000
--- a/tests-ui/tests/litegraph/README.md
+++ /dev/null
@@ -1,59 +0,0 @@
-# LiteGraph Tests
-
-This directory contains the test suite for the LiteGraph library.
-
-## Structure
-
-```
-litegraph/
-├── core/ # Core functionality tests (LGraph, LGraphNode, etc.)
-├── canvas/ # Canvas-related tests (rendering, interactions)
-├── infrastructure/ # Infrastructure tests (Rectangle, utilities)
-├── subgraph/ # Subgraph-specific tests
-├── utils/ # Utility function tests
-└── fixtures/ # Test helpers, fixtures, and assets
-```
-
-## Running Tests
-
-```bash
-# Run all litegraph tests
-pnpm test:unit -- tests-ui/tests/litegraph/
-
-# Run specific subdirectory
-pnpm test:unit -- tests-ui/tests/litegraph/core/
-
-# Run single test file
-pnpm test:unit -- tests-ui/tests/litegraph/core/LGraph.test.ts
-```
-
-## Migration Status
-
-These tests were migrated from `src/lib/litegraph/test/` to centralize test infrastructure. Currently, some tests are marked with `.skip` due to import/setup issues that need to be resolved.
-
-### TODO: Fix Skipped Tests
-
-The following test files have been temporarily disabled and need fixes:
-- Most subgraph tests (circular dependency issues)
-- Some core tests (missing test utilities)
-- Canvas tests (mock setup issues)
-
-See individual test files marked with `// TODO: Fix these tests after migration` for specific issues.
-
-## Writing New Tests
-
-1. Always import from the barrel export to avoid circular dependencies:
- ```typescript
- import { LGraph, LGraphNode } from '@/lib/litegraph/src/litegraph'
- ```
-
-2. Use the test fixtures from `fixtures/` directory
-3. Follow existing patterns for test organization
-
-## Test Fixtures
-
-Test fixtures and helpers are located in the `fixtures/` directory:
-- `testExtensions.ts` - Custom vitest extensions
-- `subgraphHelpers.ts` - Helpers for creating test subgraphs
-- `subgraphFixtures.ts` - Common subgraph test scenarios
-- `assets/` - Test data files
\ No newline at end of file
diff --git a/tests-ui/tests/litegraph/core/__snapshots__/ConfigureGraph.test.ts.snap b/tests-ui/tests/litegraph/core/__snapshots__/ConfigureGraph.test.ts.snap
deleted file mode 100644
index 7e9cd555b..000000000
--- a/tests-ui/tests/litegraph/core/__snapshots__/ConfigureGraph.test.ts.snap
+++ /dev/null
@@ -1,331 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`LGraph configure() > LGraph matches previous snapshot (normal configure() usage) > configuredBasicGraph 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,
- "console": undefined,
- "exec_version": undefined,
- "execute_triggered": undefined,
- "flags": {},
- "freeWidgetSpace": undefined,
- "gotFocusAt": undefined,
- "graph": [Circular],
- "has_errors": undefined,
- "id": 1,
- "ignore_remove": undefined,
- "inputs": [],
- "last_serialization": undefined,
- "locked": undefined,
- "lostFocusAt": undefined,
- "mode": 0,
- "mouseOver": undefined,
- "onMouseDown": [Function],
- "order": 0,
- "outputs": [],
- "progress": undefined,
- "properties": {},
- "properties_info": [],
- "redraw_on_mouse": undefined,
- "removable": undefined,
- "resizable": undefined,
- "selected": undefined,
- "serialize_widgets": undefined,
- "showAdvanced": undefined,
- "strokeStyles": {
- "error": [Function],
- "selected": [Function],
- },
- "title": "LGraphNode",
- "title_buttons": [],
- "type": "mustBeSet",
- "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,
- "console": undefined,
- "exec_version": undefined,
- "execute_triggered": undefined,
- "flags": {},
- "freeWidgetSpace": undefined,
- "gotFocusAt": undefined,
- "graph": [Circular],
- "has_errors": undefined,
- "id": 1,
- "ignore_remove": undefined,
- "inputs": [],
- "last_serialization": undefined,
- "locked": undefined,
- "lostFocusAt": undefined,
- "mode": 0,
- "mouseOver": undefined,
- "onMouseDown": [Function],
- "order": 0,
- "outputs": [],
- "progress": undefined,
- "properties": {},
- "properties_info": [],
- "redraw_on_mouse": undefined,
- "removable": undefined,
- "resizable": undefined,
- "selected": undefined,
- "serialize_widgets": undefined,
- "showAdvanced": undefined,
- "strokeStyles": {
- "error": [Function],
- "selected": [Function],
- },
- "title": "LGraphNode",
- "title_buttons": [],
- "type": "mustBeSet",
- "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,
- "console": undefined,
- "exec_version": undefined,
- "execute_triggered": undefined,
- "flags": {},
- "freeWidgetSpace": undefined,
- "gotFocusAt": undefined,
- "graph": [Circular],
- "has_errors": undefined,
- "id": 1,
- "ignore_remove": undefined,
- "inputs": [],
- "last_serialization": undefined,
- "locked": undefined,
- "lostFocusAt": undefined,
- "mode": 0,
- "mouseOver": undefined,
- "onMouseDown": [Function],
- "order": 0,
- "outputs": [],
- "progress": undefined,
- "properties": {},
- "properties_info": [],
- "redraw_on_mouse": undefined,
- "removable": undefined,
- "resizable": undefined,
- "selected": undefined,
- "serialize_widgets": undefined,
- "showAdvanced": undefined,
- "strokeStyles": {
- "error": [Function],
- "selected": [Function],
- },
- "title": "LGraphNode",
- "title_buttons": [],
- "type": "mustBeSet",
- "widgets": undefined,
- "widgets_start_y": undefined,
- "widgets_up": undefined,
- },
- ],
- "_subgraphs": Map {},
- "_version": 3,
- "catch_errors": true,
- "config": {},
- "elapsed_time": 0.01,
- "errors_in_execution": undefined,
- "events": CustomEventTarget {},
- "execution_time": undefined,
- "execution_timer_id": undefined,
- "extra": {},
- "filter": undefined,
- "fixedtime": 0,
- "fixedtime_lapse": 0.01,
- "globaltime": 0,
- "id": "ca9da7d8-fddd-4707-ad32-67be9be13140",
- "iteration": 0,
- "last_update_time": 0,
- "links": Map {},
- "list_of_graphcanvas": null,
- "nodes_actioning": [],
- "nodes_executedAction": [],
- "nodes_executing": [],
- "revision": 0,
- "runningtime": 0,
- "starttime": 0,
- "state": {
- "lastGroupId": 123,
- "lastLinkId": 0,
- "lastNodeId": 1,
- "lastRerouteId": 0,
- },
- "status": 1,
- "vars": {},
- "version": 1,
-}
-`;
-
-exports[`LGraph configure() > LGraph matches previous snapshot (normal configure() usage) > configuredMinGraph 1`] = `
-LGraph {
- "_groups": [],
- "_input_nodes": undefined,
- "_last_trigger_time": undefined,
- "_links": Map {},
- "_nodes": [],
- "_nodes_by_id": {},
- "_nodes_executable": [],
- "_nodes_in_order": [],
- "_subgraphs": Map {},
- "_version": 0,
- "catch_errors": true,
- "config": {},
- "elapsed_time": 0.01,
- "errors_in_execution": undefined,
- "events": CustomEventTarget {},
- "execution_time": undefined,
- "execution_timer_id": undefined,
- "extra": {},
- "filter": undefined,
- "fixedtime": 0,
- "fixedtime_lapse": 0.01,
- "globaltime": 0,
- "id": "d175890f-716a-4ece-ba33-1d17a513b7be",
- "iteration": 0,
- "last_update_time": 0,
- "links": Map {},
- "list_of_graphcanvas": null,
- "nodes_actioning": [],
- "nodes_executedAction": [],
- "nodes_executing": [],
- "revision": 0,
- "runningtime": 0,
- "starttime": 0,
- "state": {
- "lastGroupId": 0,
- "lastLinkId": 0,
- "lastNodeId": 0,
- "lastRerouteId": 0,
- },
- "status": 1,
- "vars": {},
- "version": 1,
-}
-`;
diff --git a/tests-ui/tests/litegraph/core/__snapshots__/LGraph_constructor.test.ts.snap b/tests-ui/tests/litegraph/core/__snapshots__/LGraph_constructor.test.ts.snap
deleted file mode 100644
index cd54aa094..000000000
--- a/tests-ui/tests/litegraph/core/__snapshots__/LGraph_constructor.test.ts.snap
+++ /dev/null
@@ -1,331 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`LGraph (constructor only) > Matches previous snapshot > basicLGraph 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,
- "console": undefined,
- "exec_version": undefined,
- "execute_triggered": undefined,
- "flags": {},
- "freeWidgetSpace": undefined,
- "gotFocusAt": undefined,
- "graph": [Circular],
- "has_errors": undefined,
- "id": 1,
- "ignore_remove": undefined,
- "inputs": [],
- "last_serialization": undefined,
- "locked": undefined,
- "lostFocusAt": undefined,
- "mode": 0,
- "mouseOver": undefined,
- "onMouseDown": [Function],
- "order": 0,
- "outputs": [],
- "progress": undefined,
- "properties": {},
- "properties_info": [],
- "redraw_on_mouse": undefined,
- "removable": undefined,
- "resizable": undefined,
- "selected": undefined,
- "serialize_widgets": undefined,
- "showAdvanced": undefined,
- "strokeStyles": {
- "error": [Function],
- "selected": [Function],
- },
- "title": "LGraphNode",
- "title_buttons": [],
- "type": "mustBeSet",
- "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,
- "console": undefined,
- "exec_version": undefined,
- "execute_triggered": undefined,
- "flags": {},
- "freeWidgetSpace": undefined,
- "gotFocusAt": undefined,
- "graph": [Circular],
- "has_errors": undefined,
- "id": 1,
- "ignore_remove": undefined,
- "inputs": [],
- "last_serialization": undefined,
- "locked": undefined,
- "lostFocusAt": undefined,
- "mode": 0,
- "mouseOver": undefined,
- "onMouseDown": [Function],
- "order": 0,
- "outputs": [],
- "progress": undefined,
- "properties": {},
- "properties_info": [],
- "redraw_on_mouse": undefined,
- "removable": undefined,
- "resizable": undefined,
- "selected": undefined,
- "serialize_widgets": undefined,
- "showAdvanced": undefined,
- "strokeStyles": {
- "error": [Function],
- "selected": [Function],
- },
- "title": "LGraphNode",
- "title_buttons": [],
- "type": "mustBeSet",
- "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,
- "console": undefined,
- "exec_version": undefined,
- "execute_triggered": undefined,
- "flags": {},
- "freeWidgetSpace": undefined,
- "gotFocusAt": undefined,
- "graph": [Circular],
- "has_errors": undefined,
- "id": 1,
- "ignore_remove": undefined,
- "inputs": [],
- "last_serialization": undefined,
- "locked": undefined,
- "lostFocusAt": undefined,
- "mode": 0,
- "mouseOver": undefined,
- "onMouseDown": [Function],
- "order": 0,
- "outputs": [],
- "progress": undefined,
- "properties": {},
- "properties_info": [],
- "redraw_on_mouse": undefined,
- "removable": undefined,
- "resizable": undefined,
- "selected": undefined,
- "serialize_widgets": undefined,
- "showAdvanced": undefined,
- "strokeStyles": {
- "error": [Function],
- "selected": [Function],
- },
- "title": "LGraphNode",
- "title_buttons": [],
- "type": "mustBeSet",
- "widgets": undefined,
- "widgets_start_y": undefined,
- "widgets_up": undefined,
- },
- ],
- "_subgraphs": Map {},
- "_version": 3,
- "catch_errors": true,
- "config": {},
- "elapsed_time": 0.01,
- "errors_in_execution": undefined,
- "events": CustomEventTarget {},
- "execution_time": undefined,
- "execution_timer_id": undefined,
- "extra": {},
- "filter": undefined,
- "fixedtime": 0,
- "fixedtime_lapse": 0.01,
- "globaltime": 0,
- "id": "ca9da7d8-fddd-4707-ad32-67be9be13140",
- "iteration": 0,
- "last_update_time": 0,
- "links": Map {},
- "list_of_graphcanvas": null,
- "nodes_actioning": [],
- "nodes_executedAction": [],
- "nodes_executing": [],
- "revision": 0,
- "runningtime": 0,
- "starttime": 0,
- "state": {
- "lastGroupId": 123,
- "lastLinkId": 0,
- "lastNodeId": 1,
- "lastRerouteId": 0,
- },
- "status": 1,
- "vars": {},
- "version": 1,
-}
-`;
-
-exports[`LGraph (constructor only) > Matches previous snapshot > minLGraph 1`] = `
-LGraph {
- "_groups": [],
- "_input_nodes": undefined,
- "_last_trigger_time": undefined,
- "_links": Map {},
- "_nodes": [],
- "_nodes_by_id": {},
- "_nodes_executable": [],
- "_nodes_in_order": [],
- "_subgraphs": Map {},
- "_version": 0,
- "catch_errors": true,
- "config": {},
- "elapsed_time": 0.01,
- "errors_in_execution": undefined,
- "events": CustomEventTarget {},
- "execution_time": undefined,
- "execution_timer_id": undefined,
- "extra": {},
- "filter": undefined,
- "fixedtime": 0,
- "fixedtime_lapse": 0.01,
- "globaltime": 0,
- "id": "d175890f-716a-4ece-ba33-1d17a513b7be",
- "iteration": 0,
- "last_update_time": 0,
- "links": Map {},
- "list_of_graphcanvas": null,
- "nodes_actioning": [],
- "nodes_executedAction": [],
- "nodes_executing": [],
- "revision": 0,
- "runningtime": 0,
- "starttime": 0,
- "state": {
- "lastGroupId": 0,
- "lastLinkId": 0,
- "lastNodeId": 0,
- "lastRerouteId": 0,
- },
- "status": 1,
- "vars": {},
- "version": 1,
-}
-`;
diff --git a/tests-ui/tsconfig.json b/tests-ui/tsconfig.json
deleted file mode 100644
index f600c4a7f..000000000
--- a/tests-ui/tsconfig.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "extends": "../tsconfig.json",
- "compilerOptions": {
- /* Test files should not be compiled */
- "noEmit": true,
- // "strict": true,
- "noUnusedLocals": true,
- "noUnusedParameters": true,
- "resolveJsonModule": true
- },
- "include": [
- "**/*.ts",
- ]
-}
diff --git a/vitest.config.ts b/vitest.config.ts
index 1dab6ffd1..b74f7496c 100644
--- a/vitest.config.ts
+++ b/vitest.config.ts
@@ -19,8 +19,8 @@ export default defineConfig({
setupFiles: ['./vitest.setup.ts'],
retry: process.env.CI ? 2 : 0,
include: [
- 'tests-ui/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}',
- 'src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'
+ 'src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}',
+ 'packages/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'
],
coverage: {
reporter: ['text', 'json', 'html']
@@ -39,7 +39,6 @@ export default defineConfig({
'@/utils/formatUtil': '/packages/shared-frontend-utils/src/formatUtil.ts',
'@/utils/networkUtil':
'/packages/shared-frontend-utils/src/networkUtil.ts',
- '@tests-ui': '/tests-ui',
'@': '/src'
}
},