Test/public/project/findproject.test.ps1
function Test_FindProject_SUCCESS { Reset-InvokeCommandMock Enable-InvokeCommandAliasModule $owner = "github" # Empty list $pattern = "emptylistpattern" $mockfilename = "findprojectempty.json" $command = 'Invoke-FindProject -Owner {owner} -Pattern "{pattern}" -firstProject 100 -afterProject ""' $command = $command -replace "{owner}", $owner $command = $command -replace "{pattern}", $pattern MockCallJson -Command $command -filename $mockfilename # With list $pattern = "kk" $mockfilename = "findprojectwithlist.json" $command = 'Invoke-FindProject -Owner {owner} -Pattern "{pattern}" -firstProject 100 -afterProject ""' $command = $command -replace "{owner}", $owner $command = $command -replace "{pattern}", $pattern MockCallJson -Command $command -filename $mockfilename # Act $result = Find-Project -Owner $owner -Pattern $pattern Assert-Count -Expected 3 -Presented $result Assert-AreEqual -Expected $result[1].id -Presented "PVT_kwDNJr_OANANzQ" Assert-AreEqual -Expected $result[1].title -Presented "title for project 21323" Assert-AreEqual -Expected $result[1].number -Presented "21323" Assert-AreEqual -Expected $result[1].url -Presented "https://github.com/orgs/testorg/projects/21323" Assert-AreEqual -Expected $result[1].createdAt -Presented "3/10/2025 1:43:16 PM" Assert-AreEqual -Expected $result[1].updatedAt -Presented "3/21/2025 12:59:34 PM" Assert-IsNull -Object $result[1].closedAt } |