feat(FN-4069): add direct merge commit routing to merger
Adds direct merge commit routing to the merger, allowing non-squash merges to bypass the squash-audit path when configured. The feature includes new `mergeCommitStrategy` settings, updated dashboard UI, expanded merger lifecycle tests, and documentation. Fusion-Task-Id: FN-4069
This commit is contained in:
@@ -177,6 +177,7 @@ const defaultSettings = {
|
||||
overlapIgnorePaths: [],
|
||||
autoMerge: true,
|
||||
mergeStrategy: "direct",
|
||||
directMergeCommitStrategy: "auto",
|
||||
pushAfterMerge: false,
|
||||
pushRemote: "origin",
|
||||
verificationFixRetries: 2,
|
||||
@@ -248,6 +249,17 @@ describe("SettingsModal", () => {
|
||||
expect(container.querySelectorAll(".settings-section-heading").length).toBeGreaterThan(0);
|
||||
});
|
||||
|
||||
it("shows direct merge commit routing only for direct merges", async () => {
|
||||
renderModal();
|
||||
await waitForSettingsModalReady();
|
||||
|
||||
await userEvent.click(screen.getByRole("button", { name: /^Merge$/ }));
|
||||
expect(screen.getByLabelText("Direct merge commit routing")).toHaveValue("auto");
|
||||
|
||||
await userEvent.selectOptions(screen.getByLabelText("Auto-completion mode"), "pull-request");
|
||||
expect(screen.queryByLabelText("Direct merge commit routing")).not.toBeInTheDocument();
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
vi.clearAllMocks();
|
||||
clearPluginUiSlotsCache();
|
||||
|
||||
Reference in New Issue
Block a user