@@ -4,13 +4,28 @@ Import-Module "$env:ChocolateyInstall\helpers\chocolateyProfile.psm1"
4
4
Describe " Chocolatey Profile" - Tag Chocolatey, Profile, Environment {
5
5
# Because we're not modifying the install in any way, there is no need to Initialize-ChocolateyTestInstall
6
6
BeforeDiscovery {
7
+ $isLicensed = Test-PackageIsEqualOrHigher " chocolatey.extension" " 0.0.0"
8
+
7
9
$ExportNotPresent = $true
8
10
if (Test-ChocolateyVersionEqualOrHigherThan - Version " 0.10.16-beta" ) {
9
11
$ExportNotPresent = $false
10
12
}
11
13
}
12
14
13
15
Context " Tab Completion" {
16
+ BeforeAll {
17
+ Initialize-ChocolateyTestInstall
18
+
19
+ # These are needed in order to test the tab completions for some
20
+ # Chocolatey operations
21
+ $null = Invoke-Choco pin add -- name= " chocolatey"
22
+
23
+ $null = Invoke-Choco apikey add -- source " https://test.com/api/add/" -- api- key " test-api-key"
24
+
25
+ $null = Invoke-Choco install upgradepackage -- version 1.0 .0 -- confirm
26
+
27
+ New-ChocolateyInstallSnapshot
28
+ }
14
29
It " Should list completions for all Top Level Commands, sorted alphabetically, but not aliases or unpackself" {
15
30
$Command = " choco "
16
31
$Completions = (TabExpansion2 - inputScript $Command - cursorColumn $Command.Length ).CompletionMatches.CompletionText
@@ -434,6 +449,153 @@ Describe "Chocolatey Profile" -Tag Chocolatey, Profile, Environment {
434
449
$Completions | Should - Contain " --version=''" - Because $becauseCompletions
435
450
}
436
451
452
+ It " Should list completions for apikey remove" {
453
+ $Command = " choco apikey remove --source='"
454
+ $Completions = (TabExpansion2 - inputScript $Command - cursorColumn $Command.Length ).CompletionMatches.CompletionText
455
+
456
+ $becauseCompletions = ($Completions -Join " , " )
457
+
458
+ $Completions | Should - Contain " --source='https://test.com/api/add/'" - Because $becauseCompletions
459
+ }
460
+
461
+ It " Should list completions for feature enable" {
462
+ $Command = " choco feature enable --name='"
463
+ $Completions = (TabExpansion2 - inputScript $Command - cursorColumn $Command.Length ).CompletionMatches.CompletionText
464
+
465
+ $becauseCompletions = ($Completions -Join " , " )
466
+
467
+ $Completions | Should - Contain " --name='allowEmptyChecksums'" - Because $becauseCompletions
468
+ $Completions | Should - Contain " --name='useRememberedArgumentsForUpgrades'" - Because $becauseCompletions
469
+
470
+ if ($isLicensed ) {
471
+ $Completions | Should - Contain " --name='adminOnlyExecutionForAllChocolateyCommands'" - Because $becauseCompletions
472
+ }
473
+ }
474
+
475
+ It " Should list completions for feature disable" {
476
+ $Command = " choco feature disable --name='"
477
+ $Completions = (TabExpansion2 - inputScript $Command - cursorColumn $Command.Length ).CompletionMatches.CompletionText
478
+
479
+ $becauseCompletions = ($Completions -Join " , " )
480
+
481
+ $Completions | Should - Contain " --name='allowEmptyChecksums'" - Because $becauseCompletions
482
+ $Completions | Should - Contain " --name='useRememberedArgumentsForUpgrades'" - Because $becauseCompletions
483
+
484
+ if ($isLicensed ) {
485
+ $Completions | Should - Contain " --name='adminOnlyExecutionForAllChocolateyCommands'" - Because $becauseCompletions
486
+ }
487
+ }
488
+
489
+ It " Should list completions for feature get" {
490
+ $Command = " choco feature get --name='"
491
+ $Completions = (TabExpansion2 - inputScript $Command - cursorColumn $Command.Length ).CompletionMatches.CompletionText
492
+
493
+ $becauseCompletions = ($Completions -Join " , " )
494
+
495
+ $Completions | Should - Contain " --name='allowEmptyChecksums'" - Because $becauseCompletions
496
+ $Completions | Should - Contain " --name='useRememberedArgumentsForUpgrades'" - Because $becauseCompletions
497
+
498
+ if ($isLicensed ) {
499
+ $Completions | Should - Contain " --name='adminOnlyExecutionForAllChocolateyCommands'" - Because $becauseCompletions
500
+ }
501
+ }
502
+
503
+ It " Should list completions for config get" {
504
+ $Command = " choco config get --name='"
505
+ $Completions = (TabExpansion2 - inputScript $Command - cursorColumn $Command.Length ).CompletionMatches.CompletionText
506
+
507
+ $becauseCompletions = ($Completions -Join " , " )
508
+
509
+ $Completions | Should - Contain " --name='cacheLocation'" - Because $becauseCompletions
510
+ $Completions | Should - Contain " --name='webRequestTimeoutSeconds'" - Because $becauseCompletions
511
+
512
+ if ($isLicensed ) {
513
+ $Completions | Should - Contain " --name='virusScannerType'" - Because $becauseCompletions
514
+ }
515
+ }
516
+
517
+ It " Should list completions for config set" {
518
+ $Command = " choco config set --name='"
519
+ $Completions = (TabExpansion2 - inputScript $Command - cursorColumn $Command.Length ).CompletionMatches.CompletionText
520
+
521
+ $becauseCompletions = ($Completions -Join " , " )
522
+
523
+ $Completions | Should - Contain " --name='cacheLocation'" - Because $becauseCompletions
524
+ $Completions | Should - Contain " --name='webRequestTimeoutSeconds'" - Because $becauseCompletions
525
+
526
+ if ($isLicensed ) {
527
+ $Completions | Should - Contain " --name='virusScannerType'" - Because $becauseCompletions
528
+ }
529
+ }
530
+
531
+ It " Should list completions for config unset" {
532
+ $Command = " choco config unset --name='"
533
+ $Completions = (TabExpansion2 - inputScript $Command - cursorColumn $Command.Length ).CompletionMatches.CompletionText
534
+
535
+ $becauseCompletions = ($Completions -Join " , " )
536
+
537
+ $Completions | Should - Contain " --name='cacheLocation'" - Because $becauseCompletions
538
+ $Completions | Should - Contain " --name='webRequestTimeoutSeconds'" - Because $becauseCompletions
539
+
540
+ if ($isLicensed ) {
541
+ $Completions | Should - Contain " --name='virusScannerType'" - Because $becauseCompletions
542
+ }
543
+ }
544
+
545
+ It " Should list completions for pin add" {
546
+ $Command = " choco pin add --name='"
547
+ $Completions = (TabExpansion2 - inputScript $Command - cursorColumn $Command.Length ).CompletionMatches.CompletionText
548
+
549
+ $becauseCompletions = ($Completions -Join " , " )
550
+
551
+ $Completions | Should - Contain " --name='upgradepackage'" - Because $becauseCompletions
552
+ }
553
+
554
+ It " Should list completions for pin remove" {
555
+ $Command = " choco pin remove --name='"
556
+ $Completions = (TabExpansion2 - inputScript $Command - cursorColumn $Command.Length ).CompletionMatches.CompletionText
557
+
558
+ $becauseCompletions = ($Completions -Join " , " )
559
+
560
+ $Completions | Should - Contain " --name='chocolatey'" - Because $becauseCompletions
561
+ }
562
+
563
+ It " Should list completions for rule get" {
564
+ $Command = " choco rule get --name='"
565
+ $Completions = (TabExpansion2 - inputScript $Command - cursorColumn $Command.Length ).CompletionMatches.CompletionText
566
+
567
+ $becauseCompletions = ($Completions -Join " , " )
568
+
569
+ $Completions | Should - Contain " --name='CHCU0001'" - Because $becauseCompletions
570
+ }
571
+
572
+ It " Should list completions for source disable" {
573
+ $Command = " choco source disable --name='"
574
+ $Completions = (TabExpansion2 - inputScript $Command - cursorColumn $Command.Length ).CompletionMatches.CompletionText
575
+
576
+ $becauseCompletions = ($Completions -Join " , " )
577
+
578
+ $Completions | Should - Contain " --name='chocolatey'" - Because $becauseCompletions
579
+ }
580
+
581
+ It " Should list completions for source enable" {
582
+ $Command = " choco source enable --name='"
583
+ $Completions = (TabExpansion2 - inputScript $Command - cursorColumn $Command.Length ).CompletionMatches.CompletionText
584
+
585
+ $becauseCompletions = ($Completions -Join " , " )
586
+
587
+ $Completions | Should - Contain " --name='chocolatey'" - Because $becauseCompletions
588
+ }
589
+
590
+ It " Should list completions for source remove" {
591
+ $Command = " choco source remove --name='"
592
+ $Completions = (TabExpansion2 - inputScript $Command - cursorColumn $Command.Length ).CompletionMatches.CompletionText
593
+
594
+ $becauseCompletions = ($Completions -Join " , " )
595
+
596
+ $Completions | Should - Contain " --name='chocolatey'" - Because $becauseCompletions
597
+ }
598
+
437
599
It " Should list versions for <_> isdependency --version=" - ForEach @ (' install' , ' upgrade' ) {
438
600
$Command = " choco $_ isdependency --version="
439
601
$Completions = (TabExpansion2 - inputScript $Command - cursorColumn $Command.Length ).CompletionMatches.CompletionText
0 commit comments