64 lines
2.2 KiB
TypeScript
64 lines
2.2 KiB
TypeScript
import { describe, expect, it, vi } from "vitest";
|
|
import { resetTaskForm, type FormResetters } from "./task-create-dialog-form-reset";
|
|
|
|
function makeResetters(): FormResetters {
|
|
return {
|
|
setTaskName: vi.fn(),
|
|
setHasTitle: vi.fn(),
|
|
setHasDescription: vi.fn(),
|
|
setHasPendingAttachmentUploads: vi.fn(),
|
|
setRepositories: vi.fn(),
|
|
setRepositoriesDirty: vi.fn(),
|
|
setRemoteRepos: vi.fn(),
|
|
setAgentProfileId: vi.fn(),
|
|
setExecutorId: vi.fn(),
|
|
setExecutorProfileId: vi.fn(),
|
|
setSelectedWorkflowId: vi.fn(),
|
|
setWorkflowAgentOverrides: vi.fn(),
|
|
setFetchedSteps: vi.fn(),
|
|
setDiscoveredRepositories: vi.fn(),
|
|
setDiscoverReposLoaded: vi.fn(),
|
|
setUseRemote: vi.fn(),
|
|
setNoRepository: vi.fn(),
|
|
setWorkspacePath: vi.fn(),
|
|
setPreferLocalExecutor: vi.fn(),
|
|
setAutopilot: vi.fn(),
|
|
setPriority: vi.fn(),
|
|
setGitHubUrlError: vi.fn(),
|
|
setFreshBranchEnabled: vi.fn(),
|
|
setCurrentLocalBranch: vi.fn(),
|
|
setBlockedBy: vi.fn(),
|
|
};
|
|
}
|
|
|
|
describe("resetTaskForm canvas source preset", () => {
|
|
it("applies the repository-free local preference without storing a profile id", () => {
|
|
const resetters = makeResetters();
|
|
|
|
resetTaskForm(resetters, "Create a canvas", "Build a canvas", null, {
|
|
title: "Create a canvas",
|
|
description: "Build a canvas",
|
|
noRepository: true,
|
|
preferLocalExecutor: true,
|
|
});
|
|
|
|
expect(resetters.setNoRepository).toHaveBeenCalledWith(true);
|
|
expect(resetters.setWorkspacePath).toHaveBeenCalledWith("");
|
|
expect(resetters.setPreferLocalExecutor).toHaveBeenCalledWith(true);
|
|
expect(resetters.setWorkflowAgentOverrides).toHaveBeenCalledWith({});
|
|
expect(resetters.setExecutorId).toHaveBeenCalledWith("");
|
|
expect(resetters.setExecutorProfileId).toHaveBeenCalledWith("");
|
|
});
|
|
|
|
it("clears the launch-only source preference on an ordinary dialog reset", () => {
|
|
const resetters = makeResetters();
|
|
|
|
resetTaskForm(resetters, "", "", null);
|
|
|
|
expect(resetters.setNoRepository).toHaveBeenCalledWith(false);
|
|
expect(resetters.setWorkspacePath).toHaveBeenCalledWith("");
|
|
expect(resetters.setPreferLocalExecutor).toHaveBeenCalledWith(false);
|
|
expect(resetters.setWorkflowAgentOverrides).toHaveBeenCalledWith({});
|
|
});
|
|
});
|