1 parent
cf652f212e
commit
d1d8dc4aec
3 files changed
+19
-18
No files matched your search
@@ -40,20 +40,7 @@ describe("queryStore app close unsaved drafts", () => {
|
||||
return tabId;
|
||||
}
|
||||
|
||||
it("prompts for unsaved SQL when quitting by default", async () => {
|
||||
const { queryStore } = await createStoreWithDirtyQueryTab();
|
||||
|
||||
const confirmed = queryStore.requestAppCloseConfirmation();
|
||||
|
||||
expect(confirmed).toBe(true);
|
||||
expect(queryStore.showCloseConfirm).toBe(true);
|
||||
expect(queryStore.closeConfirmContext).toBe("app");
|
||||
});
|
||||
|
||||
it("skips the quit prompt and keeps unsaved drafts in keep-drafts mode", async () => {
|
||||
const { useSettingsStore } = await import("@/stores/settingsStore");
|
||||
useSettingsStore().updateEditorSettings({ appCloseUnsavedTabsMode: "keep-drafts" });
|
||||
|
||||
it("skips the quit prompt and keeps unsaved drafts by default", async () => {
|
||||
const { queryStore } = await createStoreWithDirtyQueryTab();
|
||||
|
||||
const confirmed = queryStore.requestAppCloseConfirmation();
|
||||
@@ -65,6 +52,19 @@ describe("queryStore app close unsaved drafts", () => {
|
||||
expect(queryStore.requiresAppCloseDraftPersist).toBe(true);
|
||||
});
|
||||
|
||||
it("prompts for unsaved SQL when quitting in prompt mode", async () => {
|
||||
const { useSettingsStore } = await import("@/stores/settingsStore");
|
||||
useSettingsStore().updateEditorSettings({ appCloseUnsavedTabsMode: "prompt" });
|
||||
|
||||
const { queryStore } = await createStoreWithDirtyQueryTab();
|
||||
|
||||
const confirmed = queryStore.requestAppCloseConfirmation();
|
||||
|
||||
expect(confirmed).toBe(true);
|
||||
expect(queryStore.showCloseConfirm).toBe(true);
|
||||
expect(queryStore.closeConfirmContext).toBe("app");
|
||||
});
|
||||
|
||||
it("does not require draft persistence when unsaved SQL confirmation is disabled", async () => {
|
||||
const { useSettingsStore } = await import("@/stores/settingsStore");
|
||||
useSettingsStore().updateEditorSettings({
|
||||
|
||||
+4
-3
@@ -194,10 +194,11 @@ describe("normalizeEditorSettings", () => {
|
||||
expect(normalizeEditorSettings({ restoreOpenTabsOnLaunch: true } as any).openTabsRestoreMode).toBe("all");
|
||||
});
|
||||
|
||||
it("prompts for unsaved SQL on quit by default and preserves explicit modes", () => {
|
||||
expect(normalizeEditorSettings({}).appCloseUnsavedTabsMode).toBe("prompt");
|
||||
it("keeps unsaved SQL drafts on quit by default and preserves explicit modes", () => {
|
||||
expect(normalizeEditorSettings({}).appCloseUnsavedTabsMode).toBe("keep-drafts");
|
||||
expect(normalizeEditorSettings({ appCloseUnsavedTabsMode: "prompt" }).appCloseUnsavedTabsMode).toBe("prompt");
|
||||
expect(normalizeEditorSettings({ appCloseUnsavedTabsMode: "keep-drafts" }).appCloseUnsavedTabsMode).toBe("keep-drafts");
|
||||
expect(normalizeEditorSettings({ appCloseUnsavedTabsMode: "invalid" as any }).appCloseUnsavedTabsMode).toBe("prompt");
|
||||
expect(normalizeEditorSettings({ appCloseUnsavedTabsMode: "invalid" as any }).appCloseUnsavedTabsMode).toBe("keep-drafts");
|
||||
});
|
||||
|
||||
it("preserves CNB, migrates AtomGit to CNB, and rejects invalid values", () => {
|
||||
|
||||
@@ -749,7 +749,7 @@ export const DEFAULT_EDITOR_SETTINGS: EditorSettings = {
|
||||
sqlSemanticDiagnosticsEnabled: SQL_SEMANTIC_DIAGNOSTICS_AUTO_ENABLED,
|
||||
confirmDangerousSqlExecution: true,
|
||||
confirmUnsavedSqlClose: true,
|
||||
appCloseUnsavedTabsMode: "prompt",
|
||||
appCloseUnsavedTabsMode: "keep-drafts",
|
||||
savedSqlOpenTargetMode: "saved",
|
||||
compactTabTitle: false,
|
||||
tabLayout: "scroll",
|
||||
|
||||
Reference in new issue
Block a user