test(frontend): pin that topologicalSort tolerates a missing parent node

This commit is contained in:
Ruben Fiszel
2026-07-28 16:56:42 +00:00
parent f7b83ec7a3
commit 52d18e23fb
@@ -0,0 +1,23 @@
import { describe, it, expect, vi } from 'vitest'
// Mock modules that transitively import CSS/Monaco
vi.mock('monaco-editor', () => ({}))
vi.mock('@xyflow/svelte', () => ({}))
vi.mock('./renderers/nodes/AssetNode.svelte', () => ({
assetDisplaysAsOutputInFlowGraph: () => false
}))
vi.mock('../modulesTest.svelte', () => ({}))
import { topologicalSort } from './graphBuilder.svelte'
describe('topologicalSort', () => {
it('skips parent ids with no node instead of throwing', () => {
const sorted = topologicalSort([
{ id: 'a' },
{ id: 'b', parentIds: ['a'] },
{ id: 'orphan', parentIds: ['deleted'] }
])
expect(sorted.map((n) => n.id)).toEqual(['orphan', 'b', 'a'])
})
})