From 971fb6edee2bbb94cb7e4c6f18ed58fbac7b5513 Mon Sep 17 00:00:00 2001 From: Charis Kyriakou Date: Fri, 6 Jan 2023 12:53:19 +0000 Subject: [PATCH 1/3] Rename updateItemInExpandedState -> updateExpandedItem and replaceItemInExpandedState -> replaceExpandedItem --- .../src/databases/db-item-expansion.ts | 4 ++-- .../ql-vscode/src/databases/db-manager.ts | 8 ++++---- .../databases/db-item-expansion.test.ts | 18 +++++++++--------- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/extensions/ql-vscode/src/databases/db-item-expansion.ts b/extensions/ql-vscode/src/databases/db-item-expansion.ts index e8375923930..d48e210d3b1 100644 --- a/extensions/ql-vscode/src/databases/db-item-expansion.ts +++ b/extensions/ql-vscode/src/databases/db-item-expansion.ts @@ -31,7 +31,7 @@ export interface RemoteUserDefinedListExpandedDbItem { listName: string; } -export function updateItemInExpandedState( +export function updateExpandedItem( currentExpandedItems: ExpandedDbItem[], dbItem: DbItem, itemExpanded: boolean, @@ -50,7 +50,7 @@ export function updateItemInExpandedState( } } -export function replaceItemInExpandedState( +export function replaceExpandedItem( currentExpandedItems: ExpandedDbItem[], currentDbItem: DbItem, newDbItem: DbItem, diff --git a/extensions/ql-vscode/src/databases/db-manager.ts b/extensions/ql-vscode/src/databases/db-manager.ts index c86af8eb670..855db35575c 100644 --- a/extensions/ql-vscode/src/databases/db-manager.ts +++ b/extensions/ql-vscode/src/databases/db-manager.ts @@ -11,8 +11,8 @@ import { RemoteUserDefinedListDbItem, } from "./db-item"; import { - updateItemInExpandedState, - replaceItemInExpandedState, + updateExpandedItem, + replaceExpandedItem, ExpandedDbItem, } from "./db-item-expansion"; import { @@ -80,7 +80,7 @@ export class DbManager { ): Promise { const currentExpandedItems = this.getExpandedItems(); - const newExpandedItems = updateItemInExpandedState( + const newExpandedItems = updateExpandedItem( currentExpandedItems, dbItem, itemExpanded, @@ -127,7 +127,7 @@ export class DbManager { } const newDbItem = { ...currentDbItem, listName: newName }; - const newExpandedItems = replaceItemInExpandedState( + const newExpandedItems = replaceExpandedItem( this.getExpandedItems(), currentDbItem, newDbItem, diff --git a/extensions/ql-vscode/test/unit-tests/databases/db-item-expansion.test.ts b/extensions/ql-vscode/test/unit-tests/databases/db-item-expansion.test.ts index ce6df26d034..9198891b103 100644 --- a/extensions/ql-vscode/test/unit-tests/databases/db-item-expansion.test.ts +++ b/extensions/ql-vscode/test/unit-tests/databases/db-item-expansion.test.ts @@ -3,10 +3,10 @@ import { RootRemoteDbItem, } from "../../../src/databases/db-item"; import { - updateItemInExpandedState, + updateExpandedItem, ExpandedDbItem, ExpandedDbItemKind, - replaceItemInExpandedState, + replaceExpandedItem, } from "../../../src/databases/db-item-expansion"; import { createRemoteUserDefinedListDbItem, @@ -14,7 +14,7 @@ import { } from "../../factories/db-item-factories"; describe("db item expansion", () => { - describe("updateItemInExpandedState", () => { + describe("updateExpandedItem", () => { it("should add an expanded item to an existing list", () => { const currentExpandedItems: ExpandedDbItem[] = [ { @@ -31,7 +31,7 @@ describe("db item expansion", () => { listName: "list2", }); - const newExpandedItems = updateItemInExpandedState( + const newExpandedItems = updateExpandedItem( currentExpandedItems, dbItem, true, @@ -52,7 +52,7 @@ describe("db item expansion", () => { listName: "list2", }); - const newExpandedItems = updateItemInExpandedState([], dbItem, true); + const newExpandedItems = updateExpandedItem([], dbItem, true); expect(newExpandedItems).toEqual([ { @@ -78,7 +78,7 @@ describe("db item expansion", () => { listName: "list1", }); - const newExpandedItems = updateItemInExpandedState( + const newExpandedItems = updateExpandedItem( currentExpandedItems, dbItem, false, @@ -100,7 +100,7 @@ describe("db item expansion", () => { const dbItem: RootRemoteDbItem = createRootRemoteDbItem(); - const newExpandedItems = updateItemInExpandedState( + const newExpandedItems = updateExpandedItem( currentExpandedItems, dbItem, false, @@ -110,7 +110,7 @@ describe("db item expansion", () => { }); }); - describe("replaceItemInExpandedState", () => { + describe("replaceExpandedItem", () => { it("should replace the db item", () => { const currentExpandedItems: ExpandedDbItem[] = [ { @@ -139,7 +139,7 @@ describe("db item expansion", () => { listName: "list1 (renamed)", }; - const newExpandedItems = replaceItemInExpandedState( + const newExpandedItems = replaceExpandedItem( currentExpandedItems, currentDbItem, newDbItem, From d69a048a381fb7475add2d4513b987e2b4e27d3b Mon Sep 17 00:00:00 2001 From: Charis Kyriakou Date: Fri, 6 Jan 2023 12:53:55 +0000 Subject: [PATCH 2/3] Handle all db item kinds when checking for equality with expanded items --- extensions/ql-vscode/src/databases/db-item-expansion.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/extensions/ql-vscode/src/databases/db-item-expansion.ts b/extensions/ql-vscode/src/databases/db-item-expansion.ts index d48e210d3b1..39b3960e2b0 100644 --- a/extensions/ql-vscode/src/databases/db-item-expansion.ts +++ b/extensions/ql-vscode/src/databases/db-item-expansion.ts @@ -108,7 +108,10 @@ function isDbItemEqualToExpandedDbItem( expandedDbItem.kind === ExpandedDbItemKind.RemoteUserDefinedList && expandedDbItem.listName === dbItem.listName ); - default: - throw Error(`Unknown db item kind ${dbItem.kind}`); + case DbItemKind.LocalDatabase: + case DbItemKind.RemoteSystemDefinedList: + case DbItemKind.RemoteOwner: + case DbItemKind.RemoteRepo: + return false; } } From 51d1d3226c4ddc25053e2b67c4d4cb8c157ccda3 Mon Sep 17 00:00:00 2001 From: Charis Kyriakou Date: Fri, 6 Jan 2023 12:55:16 +0000 Subject: [PATCH 3/3] Remove unnecessary type casting --- .../databases/db-item-expansion.test.ts | 29 +++++++------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/extensions/ql-vscode/test/unit-tests/databases/db-item-expansion.test.ts b/extensions/ql-vscode/test/unit-tests/databases/db-item-expansion.test.ts index 9198891b103..b6ef1690dfc 100644 --- a/extensions/ql-vscode/test/unit-tests/databases/db-item-expansion.test.ts +++ b/extensions/ql-vscode/test/unit-tests/databases/db-item-expansion.test.ts @@ -1,7 +1,3 @@ -import { - RemoteUserDefinedListDbItem, - RootRemoteDbItem, -} from "../../../src/databases/db-item"; import { updateExpandedItem, ExpandedDbItem, @@ -26,10 +22,9 @@ describe("db item expansion", () => { }, ]; - const dbItem: RemoteUserDefinedListDbItem = - createRemoteUserDefinedListDbItem({ - listName: "list2", - }); + const dbItem = createRemoteUserDefinedListDbItem({ + listName: "list2", + }); const newExpandedItems = updateExpandedItem( currentExpandedItems, @@ -47,10 +42,9 @@ describe("db item expansion", () => { }); it("should add an expanded item to an empty list", () => { - const dbItem: RemoteUserDefinedListDbItem = - createRemoteUserDefinedListDbItem({ - listName: "list2", - }); + const dbItem = createRemoteUserDefinedListDbItem({ + listName: "list2", + }); const newExpandedItems = updateExpandedItem([], dbItem, true); @@ -73,10 +67,9 @@ describe("db item expansion", () => { }, ]; - const dbItem: RemoteUserDefinedListDbItem = - createRemoteUserDefinedListDbItem({ - listName: "list1", - }); + const dbItem = createRemoteUserDefinedListDbItem({ + listName: "list1", + }); const newExpandedItems = updateExpandedItem( currentExpandedItems, @@ -98,7 +91,7 @@ describe("db item expansion", () => { }, ]; - const dbItem: RootRemoteDbItem = createRootRemoteDbItem(); + const dbItem = createRootRemoteDbItem(); const newExpandedItems = updateExpandedItem( currentExpandedItems, @@ -134,7 +127,7 @@ describe("db item expansion", () => { listName: "list1", }); - const newDbItem: RemoteUserDefinedListDbItem = { + const newDbItem = { ...currentDbItem, listName: "list1 (renamed)", };