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