Private/Register-PSRepositoryInternal.ps1

<#
.SYNOPSIS
    Register Repoistory is using dynamic paramters. It's not possible to mock directly.
.DESCRIPTION
    Register Repoistory is using dynamic paramters. It's not possible to mock directly.
.PARAMETER RegisterParam
    Hashtable with all required parametrs
#>

function Register-PSRepositoryInternal {
    [CmdletBinding(SupportsShouldProcess = $true, ConfirmImpact = "Low")]
    param (
        [Parameter(Mandatory = $true, HelpMessage = "Parameters for Register-Rpository")]
        [hashtable] $RegisterParam
    )
    $ErrorActionPreference = 'Stop'
    Write-Debug '-- Register-PSRepositoryInternal --'

    if ($PSCmdlet.ShouldProcess("Register repository", $RegisterParam.Name)) {
        Register-PSRepository @RegisterParam `
        -Verbose:$VerbosePreference 
    }

    Write-Debug '-- Enf of Register-PSRepositoryInternal --'
}