Skip to content

Commit 33ef89a

Browse files
committed
Use new factories
1 parent a9b2aec commit 33ef89a

File tree

1 file changed

+62
-204
lines changed

1 file changed

+62
-204
lines changed
Lines changed: 62 additions & 204 deletions
Original file line numberDiff line numberDiff line change
@@ -1,135 +1,54 @@
11
import { DbItem, DbItemKind } from "../../../src/databases/db-item";
22
import { getSelectedDbItem } from "../../../src/databases/db-item-selection";
3+
import {
4+
createLocalDatabaseDbItem,
5+
createLocalListDbItem,
6+
createRemoteOwnerDbItem,
7+
createRemoteRepoDbItem,
8+
createRemoteSystemDefinedListDbItem,
9+
createRemoteUserDefinedListDbItem,
10+
createRootLocalDbItem,
11+
createRootRemoteDbItem,
12+
} from "../../factories/db-item-factories";
313

414
describe("db item selection", () => {
515
it("should return undefined if no item is selected", () => {
616
const dbItems: DbItem[] = [
7-
{
8-
kind: DbItemKind.RootRemote,
9-
expanded: false,
17+
createRootRemoteDbItem({
1018
children: [
11-
{
12-
kind: DbItemKind.RemoteSystemDefinedList,
13-
listName: "top_10",
14-
listDisplayName: "Top 10 repositories",
15-
listDescription: "Top 10 repositories of a language",
16-
selected: false,
17-
},
18-
{
19-
kind: DbItemKind.RemoteSystemDefinedList,
20-
listName: "top_100",
21-
listDisplayName: "Top 100 repositories",
22-
listDescription: "Top 100 repositories of a language",
23-
selected: false,
24-
},
25-
{
26-
kind: DbItemKind.RemoteOwner,
27-
ownerName: "github",
28-
selected: false,
29-
},
30-
{
31-
kind: DbItemKind.RemoteUserDefinedList,
32-
expanded: false,
33-
listName: "my list",
34-
repos: [
35-
{
36-
kind: DbItemKind.RemoteRepo,
37-
repoFullName: "owner1/repo2",
38-
selected: false,
39-
},
40-
{
41-
kind: DbItemKind.RemoteRepo,
42-
repoFullName: "owner1/repo3",
43-
selected: false,
44-
},
45-
],
46-
selected: false,
47-
},
48-
],
49-
},
50-
{
51-
kind: DbItemKind.RootLocal,
52-
expanded: false,
53-
children: [
54-
{
55-
kind: DbItemKind.LocalList,
56-
expanded: false,
57-
listName: "list-1",
58-
databases: [
59-
{
60-
kind: DbItemKind.LocalDatabase,
61-
databaseName: "db1",
62-
dateAdded: 1234,
63-
language: "javascript",
64-
storagePath: "/foo/bar",
65-
selected: false,
66-
},
67-
{
68-
kind: DbItemKind.LocalDatabase,
69-
databaseName: "db2",
70-
dateAdded: 1234,
71-
language: "javascript",
72-
storagePath: "/foo/bar",
73-
selected: false,
74-
},
75-
],
76-
selected: false,
77-
},
78-
{
79-
kind: DbItemKind.LocalDatabase,
80-
databaseName: "db3",
81-
dateAdded: 1234,
82-
language: "javascript",
83-
storagePath: "/foo/bar",
84-
selected: false,
85-
},
19+
createRemoteSystemDefinedListDbItem({}),
20+
createRemoteOwnerDbItem({}),
21+
createRemoteUserDefinedListDbItem({}),
8622
],
87-
},
23+
}),
24+
createRootLocalDbItem({
25+
children: [createLocalListDbItem({}), createLocalDatabaseDbItem({})],
26+
}),
8827
];
8928

9029
expect(getSelectedDbItem(dbItems)).toBeUndefined();
9130
});
9231

9332
it("should return correct local database item from DbItem list", () => {
9433
const dbItems: DbItem[] = [
95-
{
96-
kind: DbItemKind.RootLocal,
97-
expanded: false,
34+
createRootLocalDbItem({
9835
children: [
99-
{
100-
kind: DbItemKind.LocalList,
101-
expanded: false,
102-
listName: "list-1",
103-
databases: [
104-
{
105-
kind: DbItemKind.LocalDatabase,
106-
databaseName: "db1",
107-
dateAdded: 1234,
108-
language: "javascript",
109-
storagePath: "/foo/bar",
110-
selected: false,
111-
},
112-
{
113-
kind: DbItemKind.LocalDatabase,
114-
databaseName: "db2",
115-
dateAdded: 1234,
116-
language: "javascript",
117-
storagePath: "/foo/bar",
118-
selected: true,
119-
},
120-
],
121-
selected: false,
122-
},
123-
{
124-
kind: DbItemKind.LocalDatabase,
125-
databaseName: "db3",
36+
createLocalDatabaseDbItem({
37+
databaseName: "db2",
12638
dateAdded: 1234,
12739
language: "javascript",
12840
storagePath: "/foo/bar",
129-
selected: false,
130-
},
41+
selected: true,
42+
}),
43+
createLocalListDbItem({
44+
databases: [
45+
createLocalDatabaseDbItem({}),
46+
createLocalDatabaseDbItem({}),
47+
],
48+
}),
13149
],
132-
},
50+
expanded: false,
51+
}),
13352
];
13453

13554
expect(getSelectedDbItem(dbItems)).toEqual({
@@ -144,42 +63,20 @@ describe("db item selection", () => {
14463

14564
it("should return correct remote database list item from DbItem list", () => {
14665
const dbItems: DbItem[] = [
147-
{
148-
kind: DbItemKind.RootRemote,
149-
expanded: false,
66+
createRootRemoteDbItem({
15067
children: [
151-
{
152-
kind: DbItemKind.RemoteSystemDefinedList,
153-
listName: "top_10",
154-
listDisplayName: "Top 10 repositories",
155-
listDescription: "Top 10 repositories of a language",
156-
selected: false,
157-
},
158-
{
159-
kind: DbItemKind.RemoteOwner,
160-
ownerName: "github",
161-
selected: false,
162-
},
163-
{
164-
kind: DbItemKind.RemoteUserDefinedList,
165-
expanded: false,
68+
createRemoteSystemDefinedListDbItem({}),
69+
createRemoteOwnerDbItem({}),
70+
createRemoteUserDefinedListDbItem({
16671
listName: "my list",
72+
selected: true,
16773
repos: [
168-
{
169-
kind: DbItemKind.RemoteRepo,
170-
repoFullName: "owner1/repo2",
171-
selected: false,
172-
},
173-
{
174-
kind: DbItemKind.RemoteRepo,
175-
repoFullName: "owner1/repo3",
176-
selected: false,
177-
},
74+
createRemoteRepoDbItem({ repoFullName: "owner1/repo2" }),
75+
createRemoteRepoDbItem({ repoFullName: "owner1/repo3" }),
17876
],
179-
selected: true,
180-
},
77+
}),
18178
],
182-
},
79+
}),
18380
];
18481

18582
expect(getSelectedDbItem(dbItems)).toEqual({
@@ -204,49 +101,19 @@ describe("db item selection", () => {
204101

205102
it("should handle arbitrary list of db items", () => {
206103
const dbItems: DbItem[] = [
207-
{
208-
kind: DbItemKind.RootRemote,
209-
expanded: false,
104+
createRootRemoteDbItem({
210105
children: [
211-
{
212-
kind: DbItemKind.RemoteSystemDefinedList,
213-
listName: "top_10",
214-
listDisplayName: "Top 10 repositories",
215-
listDescription: "Top 10 repositories of a language",
216-
selected: false,
217-
},
218-
{
219-
kind: DbItemKind.RemoteOwner,
220-
ownerName: "github",
221-
selected: false,
222-
},
223-
{
224-
kind: DbItemKind.RemoteUserDefinedList,
225-
expanded: false,
226-
listName: "my list",
227-
repos: [
228-
{
229-
kind: DbItemKind.RemoteRepo,
230-
repoFullName: "owner1/repo2",
231-
selected: false,
232-
},
233-
{
234-
kind: DbItemKind.RemoteRepo,
235-
repoFullName: "owner1/repo3",
236-
selected: false,
237-
},
238-
],
239-
selected: false,
240-
},
106+
createRemoteSystemDefinedListDbItem({}),
107+
createRemoteOwnerDbItem({}),
108+
createRemoteUserDefinedListDbItem({}),
241109
],
242-
},
243-
{
244-
kind: DbItemKind.RemoteSystemDefinedList,
110+
}),
111+
createRemoteSystemDefinedListDbItem({
245112
listName: "top_10",
246113
listDisplayName: "Top 10 repositories",
247114
listDescription: "Top 10 repositories of a language",
248115
selected: true,
249-
},
116+
}),
250117
];
251118

252119
expect(getSelectedDbItem(dbItems)).toEqual({
@@ -260,33 +127,24 @@ describe("db item selection", () => {
260127

261128
it("should handle empty db item lists", () => {
262129
const dbItems: DbItem[] = [
263-
{
264-
kind: DbItemKind.RootRemote,
265-
expanded: false,
130+
createRootRemoteDbItem({
266131
children: [
267-
{
268-
kind: DbItemKind.RemoteSystemDefinedList,
269-
listName: "top_10",
270-
listDisplayName: "Top 10 repositories",
271-
listDescription: "Top 10 repositories of a language",
272-
selected: false,
273-
},
274-
{
275-
kind: DbItemKind.RemoteOwner,
276-
ownerName: "github",
277-
selected: false,
278-
},
279-
{
280-
kind: DbItemKind.RemoteUserDefinedList,
281-
expanded: false,
282-
listName: "my list",
132+
createRemoteSystemDefinedListDbItem({}),
133+
createRemoteOwnerDbItem({}),
134+
createRemoteUserDefinedListDbItem({
283135
repos: [],
284-
selected: false,
285-
},
136+
selected: true,
137+
listName: "list84",
138+
}),
286139
],
287-
},
140+
}),
288141
];
289-
290-
expect(getSelectedDbItem(dbItems)).toBeUndefined();
142+
expect(getSelectedDbItem(dbItems)).toEqual({
143+
expanded: false,
144+
kind: DbItemKind.RemoteUserDefinedList,
145+
listName: "list84",
146+
repos: [],
147+
selected: true,
148+
});
291149
});
292150
});

0 commit comments

Comments
 (0)