0.8.0: MariaDB + PlanetScale, TimescaleDB, multi-result sets, streaming export, schema diff (#27)
This commit was merged in pull request #27.
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
import { describe, it, expect, beforeEach } from "vitest";
|
||||
import { useDbViewerStore } from "./dbViewerStore";
|
||||
import type { DiffItem } from "../lib/types";
|
||||
|
||||
const item = (name: string, sql: string, destructive: boolean): DiffItem => ({
|
||||
object_type: "table",
|
||||
name,
|
||||
kind: "added",
|
||||
detail: [],
|
||||
sync_sql: [sql],
|
||||
destructive,
|
||||
});
|
||||
|
||||
describe("addDiffItems", () => {
|
||||
beforeEach(() => useDbViewerStore.getState().clearChanges());
|
||||
|
||||
it("stages one ddl change per non-destructive item, skipping destructive and empty", () => {
|
||||
const items = [
|
||||
item("users", "CREATE TABLE users (id int);", false),
|
||||
item("old", "DROP TABLE old;", true),
|
||||
{ ...item("weird", "", false), sync_sql: [] },
|
||||
];
|
||||
useDbViewerStore.getState().addDiffItems(items);
|
||||
const queue = useDbViewerStore.getState().changesQueue;
|
||||
expect(queue).toHaveLength(1);
|
||||
expect(queue[0].type).toBe("ddl");
|
||||
expect(queue[0].sql).toBe("CREATE TABLE users (id int);");
|
||||
expect(queue[0].description).toContain("users");
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user