25 lines
1.2 KiB
JavaScript
25 lines
1.2 KiB
JavaScript
import { readFileSync } from "node:fs";
|
|
import { join } from "node:path";
|
|
import { describe, expect, it } from "vitest";
|
|
|
|
const readSource = (relativePath) => readFileSync(join(process.cwd(), relativePath), "utf8");
|
|
|
|
describe("self-serve studio create focus", () => {
|
|
const studioSource = () =>
|
|
readSource("src/views/dashboards/departmentDashboard/modules/self-serve/DepartmentSelfServeStudio.vue");
|
|
|
|
it("selects and focuses a newly created graph node after save hydration", () => {
|
|
const source = studioSource();
|
|
|
|
expect(source).toContain("const setSelectedNode = (nodeId, openInspector = true) => {");
|
|
expect(source).toContain("const findCreatedNode = (graph, kind, previousNodeIds) => {");
|
|
expect(source).toContain("const focusCreatedNode = async (nodeId) => {");
|
|
expect(source).toContain("const previousNodeIds = new Set(flowNodes.value.map((node) => node.id));");
|
|
expect(source).toContain("const createdNode = findCreatedNode(graph, kind, previousNodeIds);");
|
|
expect(source).toContain("await focusCreatedNode(createdNode.id);");
|
|
expect(source).toContain('activePanel.value = "inspector";');
|
|
expect(source).toContain("flowNodes.value = flowNodes.value.map((node) => {");
|
|
expect(source).toContain("nodes: [nodeId]");
|
|
});
|
|
});
|