11import { DbItem , DbItemKind } from "../../../src/databases/db-item" ;
22import { 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
414describe ( "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