@@ -10,13 +10,20 @@ import type { ExpandedDbItem } from "../../../src/databases/db-item-expansion";
10
10
import { ExpandedDbItemKind } from "../../../src/databases/db-item-expansion" ;
11
11
import { createRemoteTree } from "../../../src/databases/db-tree-creator" ;
12
12
import { createDbConfig } from "../../factories/db-config-factories" ;
13
+ import { createMockVariantAnalysisConfig } from "../../factories/config" ;
13
14
14
15
describe ( "db tree creator" , ( ) => {
16
+ const defaultVariantAnalysisConfig = createMockVariantAnalysisConfig ( ) ;
17
+
15
18
describe ( "createRemoteTree" , ( ) => {
16
19
it ( "should build root node and system defined lists" , ( ) => {
17
20
const dbConfig = createDbConfig ( ) ;
18
21
19
- const dbTreeRoot = createRemoteTree ( dbConfig , [ ] ) ;
22
+ const dbTreeRoot = createRemoteTree (
23
+ dbConfig ,
24
+ defaultVariantAnalysisConfig ,
25
+ [ ] ,
26
+ ) ;
20
27
21
28
expect ( dbTreeRoot ) . toBeTruthy ( ) ;
22
29
expect ( dbTreeRoot . kind ) . toBe ( DbItemKind . RootRemote ) ;
@@ -45,6 +52,24 @@ describe("db tree creator", () => {
45
52
} ) ;
46
53
} ) ;
47
54
55
+ it ( "displays empty list when no remote user defined list nodes and system defined lists are disabled" , ( ) => {
56
+ const dbConfig = createDbConfig ( ) ;
57
+
58
+ const dbTreeRoot = createRemoteTree (
59
+ dbConfig ,
60
+ {
61
+ ...defaultVariantAnalysisConfig ,
62
+ showSystemDefinedRepositoryLists : false ,
63
+ } ,
64
+ [ ] ,
65
+ ) ;
66
+
67
+ expect ( dbTreeRoot ) . toBeTruthy ( ) ;
68
+ expect ( dbTreeRoot . kind ) . toBe ( DbItemKind . RootRemote ) ;
69
+ expect ( dbTreeRoot . expanded ) . toBe ( false ) ;
70
+ expect ( dbTreeRoot . children . length ) . toBe ( 0 ) ;
71
+ } ) ;
72
+
48
73
it ( "should create remote user defined list nodes" , ( ) => {
49
74
const dbConfig = createDbConfig ( {
50
75
remoteLists : [
@@ -59,10 +84,15 @@ describe("db tree creator", () => {
59
84
] ,
60
85
} ) ;
61
86
62
- const dbTreeRoot = createRemoteTree ( dbConfig , [ ] ) ;
87
+ const dbTreeRoot = createRemoteTree (
88
+ dbConfig ,
89
+ defaultVariantAnalysisConfig ,
90
+ [ ] ,
91
+ ) ;
63
92
64
93
expect ( dbTreeRoot ) . toBeTruthy ( ) ;
65
94
expect ( dbTreeRoot . kind ) . toBe ( DbItemKind . RootRemote ) ;
95
+ expect ( dbTreeRoot . children . length ) . toBe ( 5 ) ;
66
96
const repositoryListNodes = dbTreeRoot . children . filter (
67
97
isRemoteUserDefinedListDbItem ,
68
98
) ;
@@ -102,12 +132,76 @@ describe("db tree creator", () => {
102
132
} ) ;
103
133
} ) ;
104
134
135
+ it ( "shows only user defined list nodes when system defined lists are disabled" , ( ) => {
136
+ const dbConfig = createDbConfig ( {
137
+ remoteLists : [
138
+ {
139
+ name : "my-list-1" ,
140
+ repositories : [ "owner1/repo1" , "owner1/repo2" , "owner2/repo1" ] ,
141
+ } ,
142
+ {
143
+ name : "my-list-2" ,
144
+ repositories : [ "owner3/repo1" , "owner3/repo2" , "owner4/repo1" ] ,
145
+ } ,
146
+ ] ,
147
+ } ) ;
148
+
149
+ const dbTreeRoot = createRemoteTree (
150
+ dbConfig ,
151
+ {
152
+ ...defaultVariantAnalysisConfig ,
153
+ showSystemDefinedRepositoryLists : false ,
154
+ } ,
155
+ [ ] ,
156
+ ) ;
157
+
158
+ expect ( dbTreeRoot ) . toBeTruthy ( ) ;
159
+ expect ( dbTreeRoot . kind ) . toBe ( DbItemKind . RootRemote ) ;
160
+ expect ( dbTreeRoot . children . length ) . toBe ( 2 ) ;
161
+ expect ( dbTreeRoot . children [ 0 ] ) . toEqual ( {
162
+ kind : DbItemKind . RemoteUserDefinedList ,
163
+ selected : false ,
164
+ expanded : false ,
165
+ listName : dbConfig . databases . variantAnalysis . repositoryLists [ 0 ] . name ,
166
+ repos :
167
+ dbConfig . databases . variantAnalysis . repositoryLists [ 0 ] . repositories . map (
168
+ ( repo ) => ( {
169
+ kind : DbItemKind . RemoteRepo ,
170
+ selected : false ,
171
+ repoFullName : repo ,
172
+ parentListName :
173
+ dbConfig . databases . variantAnalysis . repositoryLists [ 0 ] . name ,
174
+ } ) ,
175
+ ) ,
176
+ } ) ;
177
+ expect ( dbTreeRoot . children [ 1 ] ) . toEqual ( {
178
+ kind : DbItemKind . RemoteUserDefinedList ,
179
+ selected : false ,
180
+ expanded : false ,
181
+ listName : dbConfig . databases . variantAnalysis . repositoryLists [ 1 ] . name ,
182
+ repos :
183
+ dbConfig . databases . variantAnalysis . repositoryLists [ 1 ] . repositories . map (
184
+ ( repo ) => ( {
185
+ kind : DbItemKind . RemoteRepo ,
186
+ selected : false ,
187
+ repoFullName : repo ,
188
+ parentListName :
189
+ dbConfig . databases . variantAnalysis . repositoryLists [ 1 ] . name ,
190
+ } ) ,
191
+ ) ,
192
+ } ) ;
193
+ } ) ;
194
+
105
195
it ( "should create remote owner nodes" , ( ) => {
106
196
const dbConfig : DbConfig = createDbConfig ( {
107
197
remoteOwners : [ "owner1" , "owner2" ] ,
108
198
} ) ;
109
199
110
- const dbTreeRoot = createRemoteTree ( dbConfig , [ ] ) ;
200
+ const dbTreeRoot = createRemoteTree (
201
+ dbConfig ,
202
+ defaultVariantAnalysisConfig ,
203
+ [ ] ,
204
+ ) ;
111
205
112
206
expect ( dbTreeRoot ) . toBeTruthy ( ) ;
113
207
expect ( dbTreeRoot . kind ) . toBe ( DbItemKind . RootRemote ) ;
@@ -131,7 +225,11 @@ describe("db tree creator", () => {
131
225
remoteRepos : [ "owner1/repo1" , "owner1/repo2" , "owner2/repo1" ] ,
132
226
} ) ;
133
227
134
- const dbTreeRoot = createRemoteTree ( dbConfig , [ ] ) ;
228
+ const dbTreeRoot = createRemoteTree (
229
+ dbConfig ,
230
+ defaultVariantAnalysisConfig ,
231
+ [ ] ,
232
+ ) ;
135
233
136
234
expect ( dbTreeRoot ) . toBeTruthy ( ) ;
137
235
expect ( dbTreeRoot . kind ) . toBe ( DbItemKind . RootRemote ) ;
@@ -170,7 +268,11 @@ describe("db tree creator", () => {
170
268
} ,
171
269
} ) ;
172
270
173
- const dbTreeRoot = createRemoteTree ( dbConfig , [ ] ) ;
271
+ const dbTreeRoot = createRemoteTree (
272
+ dbConfig ,
273
+ defaultVariantAnalysisConfig ,
274
+ [ ] ,
275
+ ) ;
174
276
175
277
expect ( dbTreeRoot ) . toBeTruthy ( ) ;
176
278
expect ( dbTreeRoot . kind ) . toBe ( DbItemKind . RootRemote ) ;
@@ -191,7 +293,11 @@ describe("db tree creator", () => {
191
293
} ,
192
294
} ) ;
193
295
194
- const dbTreeRoot = createRemoteTree ( dbConfig , [ ] ) ;
296
+ const dbTreeRoot = createRemoteTree (
297
+ dbConfig ,
298
+ defaultVariantAnalysisConfig ,
299
+ [ ] ,
300
+ ) ;
195
301
196
302
expect ( dbTreeRoot ) . toBeTruthy ( ) ;
197
303
expect ( dbTreeRoot . kind ) . toBe ( DbItemKind . RootRemote ) ;
@@ -213,7 +319,11 @@ describe("db tree creator", () => {
213
319
} ,
214
320
} ) ;
215
321
216
- const dbTreeRoot = createRemoteTree ( dbConfig , [ ] ) ;
322
+ const dbTreeRoot = createRemoteTree (
323
+ dbConfig ,
324
+ defaultVariantAnalysisConfig ,
325
+ [ ] ,
326
+ ) ;
217
327
218
328
expect ( dbTreeRoot ) . toBeTruthy ( ) ;
219
329
expect ( dbTreeRoot . kind ) . toBe ( DbItemKind . RootRemote ) ;
@@ -240,7 +350,11 @@ describe("db tree creator", () => {
240
350
} ,
241
351
} ) ;
242
352
243
- const dbTreeRoot = createRemoteTree ( dbConfig , [ ] ) ;
353
+ const dbTreeRoot = createRemoteTree (
354
+ dbConfig ,
355
+ defaultVariantAnalysisConfig ,
356
+ [ ] ,
357
+ ) ;
244
358
245
359
expect ( dbTreeRoot ) . toBeTruthy ( ) ;
246
360
@@ -265,7 +379,11 @@ describe("db tree creator", () => {
265
379
} ,
266
380
] ;
267
381
268
- const dbTreeRoot = createRemoteTree ( dbConfig , expanded ) ;
382
+ const dbTreeRoot = createRemoteTree (
383
+ dbConfig ,
384
+ defaultVariantAnalysisConfig ,
385
+ expanded ,
386
+ ) ;
269
387
270
388
expect ( dbTreeRoot ) . toBeTruthy ( ) ;
271
389
expect ( dbTreeRoot . kind ) . toBe ( DbItemKind . RootRemote ) ;
@@ -291,7 +409,11 @@ describe("db tree creator", () => {
291
409
} ,
292
410
] ;
293
411
294
- const dbTreeRoot = createRemoteTree ( dbConfig , expanded ) ;
412
+ const dbTreeRoot = createRemoteTree (
413
+ dbConfig ,
414
+ defaultVariantAnalysisConfig ,
415
+ expanded ,
416
+ ) ;
295
417
296
418
expect ( dbTreeRoot ) . toBeTruthy ( ) ;
297
419
expect ( dbTreeRoot . kind ) . toBe ( DbItemKind . RootRemote ) ;
0 commit comments