Files
pleno-vue/tests/unit/self-serve-studio-condition-scope.spec.js
T
Jeppe Bundgaard 225741cf7b Refactor unit tests and clean up Vue component formatting
- 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.
2026-05-28 19:47:02 +02:00

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"');
});
});