fix(structure): silence column reorder notice when adding columns
This commit is contained in:
parent
50c42d8935
commit
2c036e2860
|
|
@ -18,6 +18,7 @@ const mocks = vi.hoisted(() => ({
|
|||
invalidateObjectDdl: vi.fn(),
|
||||
loadObjectMetadataFacet: vi.fn(),
|
||||
invalidateTableMetadataCache: vi.fn(),
|
||||
toast: vi.fn(),
|
||||
}));
|
||||
|
||||
vi.mock("vue-i18n", () => ({ useI18n: () => ({ t: (key: string) => key }) }));
|
||||
|
|
@ -186,7 +187,7 @@ vi.mock("@/stores/settingsStore", () => ({
|
|||
}),
|
||||
}));
|
||||
vi.mock("@/composables/useTheme", () => ({ useTheme: () => ({ isDark: { value: false } }) }));
|
||||
vi.mock("@/composables/useToast", () => ({ useToast: () => ({ toast: vi.fn() }) }));
|
||||
vi.mock("@/composables/useToast", () => ({ useToast: () => ({ toast: mocks.toast }) }));
|
||||
vi.mock("@/lib/sql/sqlHighlighter", () => ({ createShikiSqlHighlighter: vi.fn(async () => (sql: string) => sql) }));
|
||||
vi.mock("@/lib/metadata/objectDdlCache", () => ({
|
||||
loadObjectDdl: mocks.loadObjectDdl,
|
||||
|
|
@ -239,7 +240,7 @@ function draft(isPrimaryKey = false) {
|
|||
};
|
||||
}
|
||||
|
||||
async function mountEditor(databaseType: "dameng" | "oracle", isPrimaryKey = false) {
|
||||
async function mountEditor(databaseType: "sqlserver" | "postgres" | "sqlite" | "oracle" | "dameng" | "duckdb" | "informix", isPrimaryKey = false) {
|
||||
mocks.connection.db_type = databaseType;
|
||||
mocks.connection.name = databaseType;
|
||||
mocks.connection.driver_label = databaseType;
|
||||
|
|
@ -363,6 +364,19 @@ describe("TableStructureEditor primary key editing", () => {
|
|||
});
|
||||
});
|
||||
|
||||
describe("TableStructureEditor local column order notice", () => {
|
||||
it.each(["sqlserver", "postgres", "sqlite", "oracle", "dameng", "duckdb", "informix"] as const)("does not show the reorder notice when adding a %s column", async (databaseType) => {
|
||||
const root = await mountEditor(databaseType);
|
||||
const addColumnButton = Array.from(root.querySelectorAll("button")).find((button) => button.textContent?.includes("structureEditor.addColumn"));
|
||||
if (!addColumnButton) throw new Error("Missing add column button");
|
||||
|
||||
addColumnButton.click();
|
||||
await nextTick();
|
||||
|
||||
expect(mocks.toast).not.toHaveBeenCalled();
|
||||
});
|
||||
});
|
||||
|
||||
describe("TableStructureEditor metadata loading", () => {
|
||||
it("opens the initial DDL tab without starting structure metadata loads", async () => {
|
||||
await mountLoadingEditor("ddl");
|
||||
|
|
|
|||
|
|
@ -1437,7 +1437,7 @@ async function addColumn() {
|
|||
const insertAt = resolveInsertColumnIndex(columns.value, selectedColumnId.value);
|
||||
columns.value.splice(insertAt, 0, column);
|
||||
selectedColumnId.value = column.id;
|
||||
if (usesLocalTableColumnOrder.value) persistLocalColumnOrder();
|
||||
if (usesLocalTableColumnOrder.value) persistLocalColumnOrder(false);
|
||||
await focusColumnNameInput(column.id);
|
||||
}
|
||||
|
||||
|
|
@ -1455,7 +1455,7 @@ function applyColumnTemplate(templateId: string) {
|
|||
const insertAt = resolveInsertColumnIndex(columns.value, selectedColumnId.value);
|
||||
columns.value.splice(insertAt, 0, ...templateColumns);
|
||||
selectedColumnId.value = templateColumns[templateColumns.length - 1]?.id ?? selectedColumnId.value;
|
||||
if (usesLocalTableColumnOrder.value) persistLocalColumnOrder();
|
||||
if (usesLocalTableColumnOrder.value) persistLocalColumnOrder(false);
|
||||
}
|
||||
|
||||
function removeNewColumn(column: EditableStructureColumn) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue