- Update `self-serve-studio-managed-inspector.spec.js` to improve node kind checks. - Tidy up and standardize `SessionUser.request` calls in `vehiclesTable.vue`. - Format code consistently in tables, conditions, and task specs for clarity and maintenance.
40 lines
2.0 KiB
JavaScript
40 lines
2.0 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 condition scope", () => {
|
|
it("models condition scope through graph nodes instead of legacy lane and vehicle selectors", () => {
|
|
const studioSource = readSource(
|
|
"src/views/dashboards/departmentDashboard/modules/self-serve/DepartmentSelfServeStudio.vue"
|
|
);
|
|
|
|
expect(studioSource).toContain('lane: "studio-scope"');
|
|
expect(studioSource).toContain('machine_type: "studio-scope"');
|
|
expect(studioSource).toContain('vehicle_type: "studio-scope"');
|
|
expect(studioSource).toContain(
|
|
'const nodeScopeLabel = (data) => scopeParts(data).join(" / ") || data?.subtitle || "Shared scope";'
|
|
);
|
|
expect(studioSource).toContain("v-else-if=\"selectedNode.data.kind === 'condition'\"");
|
|
expect(studioSource).toContain("<dt>Scope</dt>");
|
|
expect(studioSource).toContain("<dd>{{ nodeScopeLabel(data) }}</dd>");
|
|
});
|
|
|
|
it("builds conditions with expression groups, branches, and cases", () => {
|
|
const studioSource = readSource(
|
|
"src/views/dashboards/departmentDashboard/modules/self-serve/DepartmentSelfServeStudio.vue"
|
|
);
|
|
|
|
expect(studioSource).toContain('data-testid="condition-expression-builder"');
|
|
expect(studioSource).toContain('{ value: "group", label: "All / Any" }');
|
|
expect(studioSource).toContain('{ value: "branch", label: "If / Else" }');
|
|
expect(studioSource).toContain('{ value: "case", label: "Case" }');
|
|
expect(studioSource).toContain('<option value="question">Question</option>');
|
|
expect(studioSource).toContain('<option value="condition">Condition</option>');
|
|
expect(studioSource).toContain('data-testid="condition-expression-add-elseif"');
|
|
expect(studioSource).toContain('data-testid="condition-expression-add-else"');
|
|
expect(studioSource).toContain('data-testid="condition-expression-add-case"');
|
|
});
|
|
});
|