@@ -46,7 +46,7 @@ const emptyOptions = {
46
46
skipGitHubApi : undefined ,
47
47
skipInstall : undefined ,
48
48
skipRemoval : undefined ,
49
- skipRestore : undefined ,
49
+ skipRestore : false ,
50
50
skipUninstall : undefined ,
51
51
title : undefined ,
52
52
} ;
@@ -63,7 +63,7 @@ vi.mock("../cli/spinners.ts", () => ({
63
63
} ,
64
64
} ) ) ;
65
65
66
- const mockReadPackageData = vi . fn ( ) ;
66
+ const mockReadPackageData = vi . fn ( ) . mockResolvedValue ( { } ) ;
67
67
68
68
vi . mock ( "../packages.js" , ( ) => ( {
69
69
get readPackageData ( ) {
@@ -140,7 +140,7 @@ describe("readOptions", () => {
140
140
. object ( { base : optionsSchemaShape . base } )
141
141
. safeParse ( { base : "b" } ) ;
142
142
143
- const actual = await readOptions ( [ "--base" , "b" ] , "create " ) ;
143
+ const actual = await readOptions ( [ "--base" , "b" ] , "migrate " ) ;
144
144
145
145
expect ( actual ) . toStrictEqual ( {
146
146
cancelled : true ,
@@ -156,11 +156,12 @@ describe("readOptions", () => {
156
156
value : undefined ,
157
157
} ) ) ;
158
158
159
- expect ( await readOptions ( [ ] , "create " ) ) . toStrictEqual ( {
159
+ expect ( await readOptions ( [ ] , "migrate " ) ) . toStrictEqual ( {
160
160
cancelled : true ,
161
161
error,
162
162
options : {
163
163
...emptyOptions ,
164
+ base : "minimal" ,
164
165
} ,
165
166
} ) ;
166
167
} ) ;
@@ -171,11 +172,12 @@ describe("readOptions", () => {
171
172
value : undefined ,
172
173
} ) ) ;
173
174
174
- expect ( await readOptions ( [ ] , "create " ) ) . toStrictEqual ( {
175
+ expect ( await readOptions ( [ ] , "migrate " ) ) . toStrictEqual ( {
175
176
cancelled : true ,
176
177
error : undefined ,
177
178
options : {
178
179
...emptyOptions ,
180
+ base : "minimal" ,
179
181
} ,
180
182
} ) ;
181
183
} ) ;
@@ -186,11 +188,12 @@ describe("readOptions", () => {
186
188
. mockImplementationOnce ( ( ) => ( { value : "MockOwner" } ) )
187
189
. mockImplementation ( ( ) => ( { value : undefined } ) ) ;
188
190
189
- expect ( await readOptions ( [ ] , "create " ) ) . toStrictEqual ( {
191
+ expect ( await readOptions ( [ ] , "migrate " ) ) . toStrictEqual ( {
190
192
cancelled : true ,
191
193
error : undefined ,
192
194
options : {
193
195
...emptyOptions ,
196
+ base : "minimal" ,
194
197
owner : "MockOwner" ,
195
198
} ,
196
199
} ) ;
@@ -204,11 +207,12 @@ describe("readOptions", () => {
204
207
. mockImplementation ( ( ) => ( { value : undefined } ) ) ;
205
208
mockEnsureRepositoryExists . mockResolvedValue ( { } ) ;
206
209
207
- expect ( await readOptions ( [ ] , "create " ) ) . toStrictEqual ( {
210
+ expect ( await readOptions ( [ ] , "migrate " ) ) . toStrictEqual ( {
208
211
cancelled : true ,
209
212
error : undefined ,
210
213
options : {
211
214
...emptyOptions ,
215
+ base : "minimal" ,
212
216
owner : "MockOwner" ,
213
217
repository : "MockRepository" ,
214
218
} ,
@@ -226,11 +230,12 @@ describe("readOptions", () => {
226
230
repository : mockOptions . repository ,
227
231
} ) ;
228
232
229
- expect ( await readOptions ( [ ] , "create " ) ) . toStrictEqual ( {
233
+ expect ( await readOptions ( [ ] , "migrate " ) ) . toStrictEqual ( {
230
234
cancelled : true ,
231
235
error : undefined ,
232
236
options : {
233
237
...emptyOptions ,
238
+ base : "minimal" ,
234
239
owner : "MockOwner" ,
235
240
repository : "MockRepository" ,
236
241
} ,
@@ -249,11 +254,12 @@ describe("readOptions", () => {
249
254
repository : mockOptions . repository ,
250
255
} ) ;
251
256
252
- expect ( await readOptions ( [ ] , "create " ) ) . toStrictEqual ( {
257
+ expect ( await readOptions ( [ ] , "migrate " ) ) . toStrictEqual ( {
253
258
cancelled : true ,
254
259
error : undefined ,
255
260
options : {
256
261
...emptyOptions ,
262
+ base : "minimal" ,
257
263
description : "Mock description." ,
258
264
owner : "MockOwner" ,
259
265
repository : "MockRepository" ,
@@ -275,12 +281,13 @@ describe("readOptions", () => {
275
281
} ) ;
276
282
277
283
expect (
278
- await readOptions ( [ "--guide" , "https://example.com" ] , "create " ) ,
284
+ await readOptions ( [ "--guide" , "https://example.com" ] , "migrate " ) ,
279
285
) . toStrictEqual ( {
280
286
cancelled : true ,
281
287
error : undefined ,
282
288
options : {
283
289
...emptyOptions ,
290
+ base : "minimal" ,
284
291
description : "Mock description." ,
285
292
guide : "https://example.com" ,
286
293
owner : "MockOwner" ,
@@ -304,12 +311,13 @@ describe("readOptions", () => {
304
311
} ) ;
305
312
306
313
expect (
307
- await readOptions ( [ "--guide" , "https://example.com" ] , "create " ) ,
314
+ await readOptions ( [ "--guide" , "https://example.com" ] , "migrate " ) ,
308
315
) . toStrictEqual ( {
309
316
cancelled : true ,
310
317
error : undefined ,
311
318
options : {
312
319
...emptyOptions ,
320
+ base : "minimal" ,
313
321
description : "Mock description." ,
314
322
guide : "https://example.com" ,
315
323
owner : "MockOwner" ,
@@ -331,11 +339,12 @@ describe("readOptions", () => {
331
339
repository : mockOptions . repository ,
332
340
} ) ;
333
341
334
- expect ( await readOptions ( [ "--logo" , "logo.svg" ] , "create " ) ) . toStrictEqual ( {
342
+ expect ( await readOptions ( [ "--logo" , "logo.svg" ] , "migrate " ) ) . toStrictEqual ( {
335
343
cancelled : true ,
336
344
error : undefined ,
337
345
options : {
338
346
...emptyOptions ,
347
+ base : "minimal" ,
339
348
description : "Mock description." ,
340
349
logo : "logo.svg" ,
341
350
owner : "MockOwner" ,
@@ -357,11 +366,12 @@ describe("readOptions", () => {
357
366
repository : mockOptions . repository ,
358
367
} ) ;
359
368
360
- expect ( await readOptions ( [ ] , "create " ) ) . toStrictEqual ( {
369
+ expect ( await readOptions ( [ ] , "migrate " ) ) . toStrictEqual ( {
361
370
cancelled : true ,
362
371
error : undefined ,
363
372
options : {
364
373
...emptyOptions ,
374
+ base : "minimal" ,
365
375
description : "Mock description." ,
366
376
owner : "MockOwner" ,
367
377
repository : "MockRepository" ,
@@ -384,11 +394,12 @@ describe("readOptions", () => {
384
394
} ) ;
385
395
mockAugmentOptionsWithExcludes . mockResolvedValue ( undefined ) ;
386
396
387
- expect ( await readOptions ( [ ] , "create " ) ) . toStrictEqual ( {
397
+ expect ( await readOptions ( [ ] , "migrate " ) ) . toStrictEqual ( {
388
398
cancelled : true ,
389
399
error : undefined ,
390
400
options : {
391
401
...emptyOptions ,
402
+ base : "minimal" ,
392
403
description : "Mock description." ,
393
404
owner : "MockOwner" ,
394
405
repository : "MockRepository" ,
@@ -411,7 +422,7 @@ describe("readOptions", () => {
411
422
} ) ;
412
423
413
424
expect (
414
- await readOptions ( [ "--base" , mockOptions . base ] , "create " ) ,
425
+ await readOptions ( [ "--base" , mockOptions . base ] , "migrate " ) ,
415
426
) . toStrictEqual ( {
416
427
cancelled : false ,
417
428
octokit : undefined ,
@@ -445,7 +456,7 @@ describe("readOptions", () => {
445
456
"--logo" ,
446
457
"logo.svg" ,
447
458
] ,
448
- "create " ,
459
+ "migrate " ,
449
460
) ,
450
461
) . toStrictEqual ( {
451
462
cancelled : false ,
@@ -464,7 +475,7 @@ describe("readOptions", () => {
464
475
} ) ) ;
465
476
466
477
expect (
467
- await readOptions ( [ "--base" , mockOptions . base ] , "create " ) ,
478
+ await readOptions ( [ "--base" , mockOptions . base ] , "migrate " ) ,
468
479
) . toStrictEqual ( {
469
480
cancelled : true ,
470
481
options : {
@@ -494,7 +505,7 @@ describe("readOptions", () => {
494
505
} ) ) ;
495
506
496
507
expect (
497
- await readOptions ( [ "--base" , mockOptions . base ] , "create " ) ,
508
+ await readOptions ( [ "--base" , mockOptions . base ] , "migrate " ) ,
498
509
) . toStrictEqual ( {
499
510
cancelled : false ,
500
511
octokit : undefined ,
@@ -522,7 +533,7 @@ describe("readOptions", () => {
522
533
expect (
523
534
await readOptions (
524
535
[ "--base" , mockOptions . base , "--owner" , "JoshuaKGoldberg" ] ,
525
- "create " ,
536
+ "migrate " ,
526
537
) ,
527
538
) . toStrictEqual ( {
528
539
cancelled : false ,
@@ -533,6 +544,58 @@ describe("readOptions", () => {
533
544
} ) ;
534
545
} ) ;
535
546
547
+ it ( "defaults skipRestore to false when the mode is not create" , async ( ) => {
548
+ mockAugmentOptionsWithExcludes . mockImplementationOnce (
549
+ ( options : Partial < Options > ) => ( {
550
+ ...options ,
551
+ ...mockOptions ,
552
+ } ) ,
553
+ ) ;
554
+ mockEnsureRepositoryExists . mockResolvedValue ( {
555
+ octokit : undefined ,
556
+ repository : mockOptions . repository ,
557
+ } ) ;
558
+ mockGetPrefillOrPromptedOption . mockImplementation ( ( ) => ( {
559
+ value : "mock" ,
560
+ } ) ) ;
561
+
562
+ expect (
563
+ await readOptions ( [ "--base" , mockOptions . base ] , "migrate" ) ,
564
+ ) . toStrictEqual ( {
565
+ cancelled : false ,
566
+ octokit : undefined ,
567
+ options : expect . objectContaining ( {
568
+ skipRestore : false ,
569
+ } ) ,
570
+ } ) ;
571
+ } ) ;
572
+
573
+ it ( "defaults skipRestore to true when the mode is create" , async ( ) => {
574
+ mockAugmentOptionsWithExcludes . mockImplementationOnce (
575
+ ( options : Partial < Options > ) => ( {
576
+ ...options ,
577
+ ...mockOptions ,
578
+ } ) ,
579
+ ) ;
580
+ mockEnsureRepositoryExists . mockResolvedValue ( {
581
+ octokit : undefined ,
582
+ repository : mockOptions . repository ,
583
+ } ) ;
584
+ mockGetPrefillOrPromptedOption . mockImplementation ( ( ) => ( {
585
+ value : "mock" ,
586
+ } ) ) ;
587
+
588
+ expect (
589
+ await readOptions ( [ "--base" , mockOptions . base ] , "create" ) ,
590
+ ) . toStrictEqual ( {
591
+ cancelled : false ,
592
+ octokit : undefined ,
593
+ options : expect . objectContaining ( {
594
+ skipRestore : true ,
595
+ } ) ,
596
+ } ) ;
597
+ } ) ;
598
+
536
599
it ( "skips API calls when --offline is true" , async ( ) => {
537
600
mockAugmentOptionsWithExcludes . mockImplementation ( ( options : Options ) => ( {
538
601
...emptyOptions ,
@@ -548,7 +611,7 @@ describe("readOptions", () => {
548
611
} ) ;
549
612
550
613
expect (
551
- await readOptions ( [ "--base" , mockOptions . base , "--offline" ] , "create " ) ,
614
+ await readOptions ( [ "--base" , mockOptions . base , "--offline" ] , "migrate " ) ,
552
615
) . toStrictEqual ( {
553
616
cancelled : false ,
554
617
octokit : undefined ,
@@ -564,7 +627,7 @@ describe("readOptions", () => {
564
627
} ,
565
628
guide : undefined ,
566
629
logo : undefined ,
567
- mode : "create " ,
630
+ mode : "migrate " ,
568
631
offline : true ,
569
632
owner : "mock" ,
570
633
skipAllContributorsApi : true ,
@@ -769,7 +832,7 @@ describe("readOptions", () => {
769
832
"skipGitHubApi": true,
770
833
"skipInstall": undefined,
771
834
"skipRemoval": undefined,
772
- "skipRestore": undefined ,
835
+ "skipRestore": false ,
773
836
"skipUninstall": undefined,
774
837
"title": "Test Title",
775
838
},
0 commit comments