diff --git a/Modules/DscResource.LocalizationHelper/DscResource.LocalizationHelper.psm1 b/Modules/DscResource.LocalizationHelper/DscResource.LocalizationHelper.psm1 index 76ddafe9d3..daf9e0cd3b 100644 --- a/Modules/DscResource.LocalizationHelper/DscResource.LocalizationHelper.psm1 +++ b/Modules/DscResource.LocalizationHelper/DscResource.LocalizationHelper.psm1 @@ -317,6 +317,7 @@ Export-ModuleMember -Function @( 'New-InvalidArgumentException', 'New-InvalidOperationException', 'New-ObjectNotFoundException', - 'New-InvalidResultException' + 'New-InvalidResultException', + 'New-NotImplementedException' 'Get-LocalizedData' ) diff --git a/Tests/Unit/DscResource.LocalizationHelper.Tests.ps1 b/Tests/Unit/DscResource.LocalizationHelper.Tests.ps1 index 2d054fab80..be615670d1 100644 --- a/Tests/Unit/DscResource.LocalizationHelper.Tests.ps1 +++ b/Tests/Unit/DscResource.LocalizationHelper.Tests.ps1 @@ -188,6 +188,30 @@ InModuleScope 'DscResource.LocalizationHelper' { Assert-VerifiableMock } + Describe 'DscResource.LocalizationHelper\New-NotImplementedException' { + Context 'When calling with Message parameter only' { + It 'Should throw the correct error' { + $mockErrorMessage = 'Mocked error' + + { New-NotImplementedException -Message $mockErrorMessage } | Should -Throw $mockErrorMessage + } + } + + Context 'When calling with both the Message and ErrorRecord parameter' { + It 'Should throw the correct error' { + $mockErrorMessage = 'Mocked error' + $mockExceptionErrorMessage = 'Mocked exception error message' + + $mockException = New-Object -TypeName System.Exception -ArgumentList $mockExceptionErrorMessage + $mockErrorRecord = New-Object -TypeName System.Management.Automation.ErrorRecord -ArgumentList $mockException, $null, 'InvalidResult', $null + + { New-NotImplementedException -Message $mockErrorMessage -ErrorRecord $mockErrorRecord } | Should -Throw ('System.NotImplementedException: {0} ---> System.Exception: {1}' -f $mockErrorMessage, $mockExceptionErrorMessage) + } + } + + Assert-VerifiableMock + } + Describe 'DscResource.LocalizationHelper\New-InvalidArgumentException' { Context 'When calling with both the Message and ArgumentName parameter' { It 'Should throw the correct error' {