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