Create missing factories and test adjustment

This commit is contained in:
Nora
2022-12-08 11:26:38 +00:00
parent 5138831cd3
commit a9b2aec353
2 changed files with 153 additions and 20 deletions

View File

@@ -1,34 +1,167 @@
import {
DbItemKind,
LocalDatabaseDbItem,
LocalListDbItem,
RemoteOwnerDbItem,
RemoteRepoDbItem,
RemoteSystemDefinedListDbItem,
RemoteUserDefinedListDbItem,
RootLocalDbItem,
RootRemoteDbItem,
} from "../../src/databases/db-item";
export function createRootRemoteDbItem(): RootRemoteDbItem {
// Root Remote Db Items
export function createRootRemoteDbItem({
children = [],
expanded = false,
}: {
children?: Array<
| RemoteOwnerDbItem
| RemoteSystemDefinedListDbItem
| RemoteUserDefinedListDbItem
>;
expanded?: boolean;
}): RootRemoteDbItem {
return {
kind: DbItemKind.RootRemote,
children: [],
expanded: false,
children,
expanded,
};
}
export function createRemoteOwnerDbItem({
ownerName = `owner${getRandomInt()}`,
selected = false,
}: {
ownerName?: string;
selected?: boolean;
}): RemoteOwnerDbItem {
return {
kind: DbItemKind.RemoteOwner,
selected,
ownerName,
};
}
export function createRemoteRepoDbItem({
repoFullName = `repoFullName${getRandomInt()}`,
selected = false,
parentListName = undefined,
}: {
repoFullName?: string;
selected?: boolean;
parentListName?: string;
}): RemoteRepoDbItem {
return {
kind: DbItemKind.RemoteRepo,
selected,
repoFullName,
parentListName,
};
}
export function createRemoteSystemDefinedListDbItem({
listName = `top_${getRandomInt()}`,
listDisplayName = `Display Name`,
listDescription = `Description`,
selected = false,
}: {
listName?: string;
listDisplayName?: string;
listDescription?: string;
selected?: boolean;
}): RemoteSystemDefinedListDbItem {
return {
kind: DbItemKind.RemoteSystemDefinedList,
selected,
listName,
listDisplayName,
listDescription,
};
}
export function createRemoteUserDefinedListDbItem({
name = "list1",
expanded = false,
selected = false,
listName = `list${getRandomInt()}`,
repos = [
createRemoteRepoDbItem({
parentListName: listName,
}),
],
}: {
name: string;
listName?: string;
expanded?: boolean;
selected?: boolean;
repos?: RemoteRepoDbItem[];
}): RemoteUserDefinedListDbItem {
return {
kind: DbItemKind.RemoteUserDefinedList,
selected: false,
expanded: false,
listName: name,
repos: [
{
kind: DbItemKind.RemoteRepo,
selected: false,
repoFullName: "repo1",
parentListName: name,
},
],
expanded,
selected,
listName,
repos,
};
}
// Root Local Db Items
export function createRootLocalDbItem({
children = [],
expanded = false,
}: {
children?: Array<LocalDatabaseDbItem | LocalListDbItem>;
expanded?: boolean;
}): RootLocalDbItem {
return {
kind: DbItemKind.RootLocal,
children,
expanded,
};
}
export function createLocalDatabaseDbItem({
databaseName = `database${getRandomInt()}`,
dateAdded = getRandomInt(),
language = `language${getRandomInt()}`,
storagePath = `storagePath${getRandomInt()}`,
selected = false,
}: {
databaseName?: string;
dateAdded?: number;
language?: string;
storagePath?: string;
selected?: boolean;
}): LocalDatabaseDbItem {
return {
kind: DbItemKind.LocalDatabase,
selected,
databaseName,
dateAdded,
language,
storagePath,
};
}
export function createLocalListDbItem({
listName = `top_${getRandomInt()}`,
selected = false,
expanded = false,
databases = [],
}: {
listName?: string;
databases?: LocalDatabaseDbItem[];
selected?: boolean;
expanded?: boolean;
}): LocalListDbItem {
return {
kind: DbItemKind.LocalList,
selected,
expanded,
databases,
listName,
};
}
function getRandomInt() {
return Math.floor(Math.random() * 100);
}

View File

@@ -26,7 +26,7 @@ describe("db item expansion", () => {
const dbItem: RemoteUserDefinedListDbItem =
createRemoteUserDefinedListDbItem({
name: "list2",
listName: "list2",
});
const newExpandedItems = calculateNewExpandedState(
@@ -47,7 +47,7 @@ describe("db item expansion", () => {
it("should add an expanded item to an empty list", () => {
const dbItem: RemoteUserDefinedListDbItem =
createRemoteUserDefinedListDbItem({
name: "list2",
listName: "list2",
});
const newExpandedItems = calculateNewExpandedState([], dbItem, true);
@@ -73,7 +73,7 @@ describe("db item expansion", () => {
const dbItem: RemoteUserDefinedListDbItem =
createRemoteUserDefinedListDbItem({
name: "list1",
listName: "list1",
});
const newExpandedItems = calculateNewExpandedState(
@@ -96,7 +96,7 @@ describe("db item expansion", () => {
},
];
const dbItem: RootRemoteDbItem = createRootRemoteDbItem();
const dbItem: RootRemoteDbItem = createRootRemoteDbItem({});
const newExpandedItems = calculateNewExpandedState(
currentExpandedItems,