RepoHelperTest/public/getRepoAccessTeam.Test.ps1

function 
RepoHelperTest_GetRepoAccessTeam_Success{

    Reset-InvokeCommandMock

    $owner = "solidifycustomers"; $repo = "bit21"

    # All users
    $GetAccessAllSuccess = $PSScriptRoot | Join-Path -ChildPath 'testData' -AdditionalChildPath 'getAccessAllSuccess.json'
    Set-InvokeCommandMock -Alias "gh api repos/$owner/$repo/collaborators --paginate" -Command "Get-Content -Path $(($GetAccessAllSuccess | Get-Item).FullName)"
    $getInvitations = $PSScriptRoot | Join-Path -ChildPath 'testData' -AdditionalChildPath 'getAccessInvitationsSuccess.json'
    Set-InvokeCommandMock -Alias "gh api repos/$owner/$repo/invitations --paginate" -Command "Get-Content -Path $(($getInvitations | Get-Item).FullName)"

    # Get User information
    MockCall -command "gh api users/rulasg" -filename 'getUserSuccess_rulasg.json'
    MockCall -command "gh api users/raulgeu" -filename 'getUserSuccess_raulgeu.json'
    MockCall -command "gh api users/raulgeukk" -filename 'getUserSuccess_raulgeukk.json'
    MockCall -command "gh api users/MagnusTim" -filename 'getUserSuccess_MagnusTim.json'

    # Act
    $result = Get-RepoAccessTeam -Owner $owner -Repo $repo

    Assert-Count -Expected 6 -Presented $result
    Assert-Contains -Presented $result -Expected "| Photo | Name | Access | Email | Handle | Company |"
    Assert-Contains -Presented $result -Expected "|----------------------------|--------|----------|---------|--------|------------|"

    Assert-Contains -Presented $result -Expected '| <img alt="" width="100" height="100" class="avatar width-full height-full avatar-before-user-status" src="https://avatars.githubusercontent.com/MagnusTim"> | Magnus Timner | admin | MagnusTim@github.com | [@MagnusTim](https://https://github.com/MagnusTim) | Contoso |'
    Assert-Contains -Presented $result -Expected '| <img alt="" width="100" height="100" class="avatar width-full height-full avatar-before-user-status" src="https://avatars.githubusercontent.com/rulasg"> | Raul Gonzalez | admin | rulasg@github.com | [@rulasg](https://https://github.com/rulasg) | Contoso |'
    Assert-Contains -Presented $result -Expected '| <img alt="" width="100" height="100" class="avatar width-full height-full avatar-before-user-status" src="https://avatars.githubusercontent.com/raulgeukk"> | Raul Dibildos kk | write | raulgeukk@github.com | [@raulgeukk](https://https://github.com/raulgeukk) | Contoso |'
    Assert-Contains -Presented $result -Expected '| <img alt="" width="100" height="100" class="avatar width-full height-full avatar-before-user-status" src="https://avatars.githubusercontent.com/raulgeu"> | Raul Dibildos | write | raulgeu@github.com | [@raulgeu](https://https://github.com/raulgeu) | Contoso |'

    # Assert Sorted by Access
    Assert-IsTrue -Condition ($result[2] -like '*| admin |*' )
    Assert-IsTrue -Condition ($result[3] -like '*| admin |*' )
    Assert-IsTrue -Condition ($result[4] -like '*| write |*' )
    Assert-IsTrue -Condition ($result[5] -like '*| write |*' )
}

function RepoHelperTest_GetRepoAccessTeam_Success_NoHead{

    Reset-InvokeCommandMock

    $owner = "solidifycustomers"; $repo = "bit21"

    # All users
    $GetAccessAllSuccess = $PSScriptRoot | Join-Path -ChildPath 'testData' -AdditionalChildPath 'getAccessAllSuccess.json'
    Set-InvokeCommandMock -Alias "gh api repos/$owner/$repo/collaborators --paginate" -Command "Get-Content -Path $(($GetAccessAllSuccess | Get-Item).FullName)"
    $getInvitations = $PSScriptRoot | Join-Path -ChildPath 'testData' -AdditionalChildPath 'getAccessInvitationsSuccess.json'
    Set-InvokeCommandMock -Alias "gh api repos/$owner/$repo/invitations --paginate" -Command "Get-Content -Path $(($getInvitations | Get-Item).FullName)"

    # Get User information
    MockCall -command "gh api users/rulasg" -filename 'getUserSuccess_rulasg.json'
    MockCall -command "gh api users/raulgeu" -filename 'getUserSuccess_raulgeu.json'
    MockCall -command "gh api users/raulgeukk" -filename 'getUserSuccess_raulgeukk.json'
    MockCall -command "gh api users/MagnusTim" -filename 'getUserSuccess_MagnusTim.json'

    # Act
    $result = Get-RepoAccessTeam -Owner $owner -Repo $repo -NoHeaders

    Assert-Count -Expected 4 -Presented $result

    Assert-Contains -Presented $result -Expected '| <img alt="" width="100" height="100" class="avatar width-full height-full avatar-before-user-status" src="https://avatars.githubusercontent.com/MagnusTim"> | Magnus Timner | admin | MagnusTim@github.com | [@MagnusTim](https://https://github.com/MagnusTim) | Contoso |'
    Assert-Contains -Presented $result -Expected '| <img alt="" width="100" height="100" class="avatar width-full height-full avatar-before-user-status" src="https://avatars.githubusercontent.com/rulasg"> | Raul Gonzalez | admin | rulasg@github.com | [@rulasg](https://https://github.com/rulasg) | Contoso |'
    Assert-Contains -Presented $result -Expected '| <img alt="" width="100" height="100" class="avatar width-full height-full avatar-before-user-status" src="https://avatars.githubusercontent.com/raulgeukk"> | Raul Dibildos kk | write | raulgeukk@github.com | [@raulgeukk](https://https://github.com/raulgeukk) | Contoso |'
    Assert-Contains -Presented $result -Expected '| <img alt="" width="100" height="100" class="avatar width-full height-full avatar-before-user-status" src="https://avatars.githubusercontent.com/raulgeu"> | Raul Dibildos | write | raulgeu@github.com | [@raulgeu](https://https://github.com/raulgeu) | Contoso |'
}