Fix multiple winget entry in json file (#405)

* Update Branch in script

* add logic to split ; delimiter

* Update Branch in script

* update tests

* Update Branch in script

* Update winutil.ps1

* Update Branch in script

* Update winutil.ps1

* Update Branch in script

Co-authored-by: DeveloperDurp <DeveloperDurp@users.noreply.github.com>
Co-authored-by: Chris Titus <contact@christitus.com>
Co-authored-by: ChrisTitusTech <ChrisTitusTech@users.noreply.github.com>
This commit is contained in:
DeveloperDurp 2022-11-29 23:27:36 +00:00 committed by GitHub
parent f83ffaf0a9
commit 0951bf5bcd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 31 additions and 10 deletions

View File

@ -193,8 +193,26 @@ Describe "GUI Functions" {
It "Get-CheckBoxes Install should return data" {
. .\pester.ps1
$WPFInstallvc2015_32.ischecked = $true
(Get-CheckBoxes -Group WPFInstall) | should -Not -BeNullOrEmpty
$WPFInstallvc2015_32.ischecked | should -be $false
$TestCheckBoxes = @(
"WPFInstallvc2015_32"
"WPFInstallvscode"
"WPFInstallgit"
)
$OutputResult = New-Object System.Collections.Generic.List[System.Object]
$TestCheckBoxes | ForEach-Object {
$global:configs.applications.Install.$psitem.winget -split ";" | ForEach-Object {
$OutputResult.Add($psitem)
}
}
$OutputResult = Sort-Object -InputObject $OutputResult
$TestCheckBoxes | ForEach-Object {(Get-Variable $PSItem).value.ischecked = $true}
$Output = Get-CheckBoxes -Group WPFInstall | Sort-Object
$Output | should -Not -BeNullOrEmpty -Because "Output did not containe applications to install"
$Output | Should -Not -Be $OutputResult -Because "Output contains duplicate values"
$Output | Should -Be $($OutputResult | Select-Object -Unique | Sort-Object) -Because "Output doesn't match"
$TestCheckBoxes | ForEach-Object {(Get-Variable $PSItem).value.ischecked | should -be $false}
}
}

View File

@ -1,5 +1,5 @@
#for CI/CD
$BranchToUse = 'test'
$BranchToUse = 'hotfix/applications'
<#
.NOTES

View File

@ -1,5 +1,5 @@
#for CI/CD
$BranchToUse = 'main'
$BranchToUse = 'hotfix/applications'
<#
.NOTES
Author : Chris Titus @christitustech
@ -117,14 +117,17 @@ Function Get-CheckBoxes {
if($Group -eq "WPFInstall"){
Foreach ($CheckBox in $CheckBoxes){
if($checkbox.value.ischecked -eq $true){
$output.Add("$($configs.applications.install.$($checkbox.name).winget)")
$checkbox.value.ischecked = $false
if($CheckBox.value.ischecked -eq $true){
$Configs.applications.install.$($CheckBox.name).winget -split ";" | ForEach-Object {
$Output.Add($psitem)
}
$CheckBox.value.ischecked = $false
}
}
}
Write-Output $Output
Write-Output $($Output | Select-Object -Unique)
}
#===========================================================================