diff --git a/Evergreen/Public/ConvertTo-DotNetVersionClass.ps1 b/Evergreen/Public/ConvertTo-DotNetVersionClass.ps1 index 87a0d78b..7b8ea816 100644 --- a/Evergreen/Public/ConvertTo-DotNetVersionClass.ps1 +++ b/Evergreen/Public/ConvertTo-DotNetVersionClass.ps1 @@ -31,6 +31,7 @@ function ConvertTo-DotNetVersionClass { Mandatory = $true, Position = 0, ValueFromPipeline, + ValueFromPipelineByPropertyName, HelpMessage = "A version string to convert to a standard .NET compliant version class.")] [System.String] $Version ) diff --git a/tests/Public/ConvertTo-DotNetVersionClass.Tests.ps1 b/tests/Public/ConvertTo-DotNetVersionClass.Tests.ps1 new file mode 100644 index 00000000..cabb743a --- /dev/null +++ b/tests/Public/ConvertTo-DotNetVersionClass.Tests.ps1 @@ -0,0 +1,32 @@ +<# + .SYNOPSIS + Public Pester function tests. +#> +[OutputType()] +[Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSUseDeclaredVarsMoreThanAssignments", "", Justification = "This OK for the tests files.")] +[Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSAvoidUsingWriteHost", "", Justification = "Outputs to log host.")] +param () + +BeforeDiscovery { +} + +BeforeAll { +} + +Describe -Tag "Convert" -Name "ConvertTo-DotNetVersionClass" { + BeforeAll { + $App = Get-EvergreenApp -Name "MicrosoftOneDrive" + } + + It "Should return a valid .NET version class" { + { $App[0] | ConvertTo-DotNetVersionClass } | Should -BeOfType [System.Version] + } + + It "Should return a string for a version number that fails to convert" { + { ConvertTo-DotNetVersionClass -Version "v22-build1" } | Should -BeOfType [System.String] + } + + It "Should return the expected string when converting a version string" { + ConvertTo-DotNetVersionClass -Version "v22-build1" | Should -BeExactly "1185050.991806090049.0.0" + } +}