Use new factories

This commit is contained in:
Nora
2022-12-08 11:26:57 +00:00
parent a9b2aec353
commit 33ef89a28c

View File

@@ -1,90 +1,29 @@
import { DbItem, DbItemKind } from "../../../src/databases/db-item";
import { getSelectedDbItem } from "../../../src/databases/db-item-selection";
import {
createLocalDatabaseDbItem,
createLocalListDbItem,
createRemoteOwnerDbItem,
createRemoteRepoDbItem,
createRemoteSystemDefinedListDbItem,
createRemoteUserDefinedListDbItem,
createRootLocalDbItem,
createRootRemoteDbItem,
} from "../../factories/db-item-factories";
describe("db item selection", () => {
it("should return undefined if no item is selected", () => {
const dbItems: DbItem[] = [
{
kind: DbItemKind.RootRemote,
expanded: false,
createRootRemoteDbItem({
children: [
{
kind: DbItemKind.RemoteSystemDefinedList,
listName: "top_10",
listDisplayName: "Top 10 repositories",
listDescription: "Top 10 repositories of a language",
selected: false,
},
{
kind: DbItemKind.RemoteSystemDefinedList,
listName: "top_100",
listDisplayName: "Top 100 repositories",
listDescription: "Top 100 repositories of a language",
selected: false,
},
{
kind: DbItemKind.RemoteOwner,
ownerName: "github",
selected: false,
},
{
kind: DbItemKind.RemoteUserDefinedList,
expanded: false,
listName: "my list",
repos: [
{
kind: DbItemKind.RemoteRepo,
repoFullName: "owner1/repo2",
selected: false,
},
{
kind: DbItemKind.RemoteRepo,
repoFullName: "owner1/repo3",
selected: false,
},
createRemoteSystemDefinedListDbItem({}),
createRemoteOwnerDbItem({}),
createRemoteUserDefinedListDbItem({}),
],
selected: false,
},
],
},
{
kind: DbItemKind.RootLocal,
expanded: false,
children: [
{
kind: DbItemKind.LocalList,
expanded: false,
listName: "list-1",
databases: [
{
kind: DbItemKind.LocalDatabase,
databaseName: "db1",
dateAdded: 1234,
language: "javascript",
storagePath: "/foo/bar",
selected: false,
},
{
kind: DbItemKind.LocalDatabase,
databaseName: "db2",
dateAdded: 1234,
language: "javascript",
storagePath: "/foo/bar",
selected: false,
},
],
selected: false,
},
{
kind: DbItemKind.LocalDatabase,
databaseName: "db3",
dateAdded: 1234,
language: "javascript",
storagePath: "/foo/bar",
selected: false,
},
],
},
}),
createRootLocalDbItem({
children: [createLocalListDbItem({}), createLocalDatabaseDbItem({})],
}),
];
expect(getSelectedDbItem(dbItems)).toBeUndefined();
@@ -92,44 +31,24 @@ describe("db item selection", () => {
it("should return correct local database item from DbItem list", () => {
const dbItems: DbItem[] = [
{
kind: DbItemKind.RootLocal,
expanded: false,
createRootLocalDbItem({
children: [
{
kind: DbItemKind.LocalList,
expanded: false,
listName: "list-1",
databases: [
{
kind: DbItemKind.LocalDatabase,
databaseName: "db1",
dateAdded: 1234,
language: "javascript",
storagePath: "/foo/bar",
selected: false,
},
{
kind: DbItemKind.LocalDatabase,
createLocalDatabaseDbItem({
databaseName: "db2",
dateAdded: 1234,
language: "javascript",
storagePath: "/foo/bar",
selected: true,
},
}),
createLocalListDbItem({
databases: [
createLocalDatabaseDbItem({}),
createLocalDatabaseDbItem({}),
],
selected: false,
},
{
kind: DbItemKind.LocalDatabase,
databaseName: "db3",
dateAdded: 1234,
language: "javascript",
storagePath: "/foo/bar",
selected: false,
},
}),
],
},
expanded: false,
}),
];
expect(getSelectedDbItem(dbItems)).toEqual({
@@ -144,42 +63,20 @@ describe("db item selection", () => {
it("should return correct remote database list item from DbItem list", () => {
const dbItems: DbItem[] = [
{
kind: DbItemKind.RootRemote,
expanded: false,
createRootRemoteDbItem({
children: [
{
kind: DbItemKind.RemoteSystemDefinedList,
listName: "top_10",
listDisplayName: "Top 10 repositories",
listDescription: "Top 10 repositories of a language",
selected: false,
},
{
kind: DbItemKind.RemoteOwner,
ownerName: "github",
selected: false,
},
{
kind: DbItemKind.RemoteUserDefinedList,
expanded: false,
createRemoteSystemDefinedListDbItem({}),
createRemoteOwnerDbItem({}),
createRemoteUserDefinedListDbItem({
listName: "my list",
repos: [
{
kind: DbItemKind.RemoteRepo,
repoFullName: "owner1/repo2",
selected: false,
},
{
kind: DbItemKind.RemoteRepo,
repoFullName: "owner1/repo3",
selected: false,
},
],
selected: true,
},
repos: [
createRemoteRepoDbItem({ repoFullName: "owner1/repo2" }),
createRemoteRepoDbItem({ repoFullName: "owner1/repo3" }),
],
},
}),
],
}),
];
expect(getSelectedDbItem(dbItems)).toEqual({
@@ -204,49 +101,19 @@ describe("db item selection", () => {
it("should handle arbitrary list of db items", () => {
const dbItems: DbItem[] = [
{
kind: DbItemKind.RootRemote,
expanded: false,
createRootRemoteDbItem({
children: [
{
kind: DbItemKind.RemoteSystemDefinedList,
listName: "top_10",
listDisplayName: "Top 10 repositories",
listDescription: "Top 10 repositories of a language",
selected: false,
},
{
kind: DbItemKind.RemoteOwner,
ownerName: "github",
selected: false,
},
{
kind: DbItemKind.RemoteUserDefinedList,
expanded: false,
listName: "my list",
repos: [
{
kind: DbItemKind.RemoteRepo,
repoFullName: "owner1/repo2",
selected: false,
},
{
kind: DbItemKind.RemoteRepo,
repoFullName: "owner1/repo3",
selected: false,
},
createRemoteSystemDefinedListDbItem({}),
createRemoteOwnerDbItem({}),
createRemoteUserDefinedListDbItem({}),
],
selected: false,
},
],
},
{
kind: DbItemKind.RemoteSystemDefinedList,
}),
createRemoteSystemDefinedListDbItem({
listName: "top_10",
listDisplayName: "Top 10 repositories",
listDescription: "Top 10 repositories of a language",
selected: true,
},
}),
];
expect(getSelectedDbItem(dbItems)).toEqual({
@@ -260,33 +127,24 @@ describe("db item selection", () => {
it("should handle empty db item lists", () => {
const dbItems: DbItem[] = [
{
kind: DbItemKind.RootRemote,
expanded: false,
createRootRemoteDbItem({
children: [
{
kind: DbItemKind.RemoteSystemDefinedList,
listName: "top_10",
listDisplayName: "Top 10 repositories",
listDescription: "Top 10 repositories of a language",
selected: false,
},
{
kind: DbItemKind.RemoteOwner,
ownerName: "github",
selected: false,
},
{
kind: DbItemKind.RemoteUserDefinedList,
expanded: false,
listName: "my list",
createRemoteSystemDefinedListDbItem({}),
createRemoteOwnerDbItem({}),
createRemoteUserDefinedListDbItem({
repos: [],
selected: false,
},
selected: true,
listName: "list84",
}),
],
},
}),
];
expect(getSelectedDbItem(dbItems)).toBeUndefined();
expect(getSelectedDbItem(dbItems)).toEqual({
expanded: false,
kind: DbItemKind.RemoteUserDefinedList,
listName: "list84",
repos: [],
selected: true,
});
});
});