Test/public/project_item_search.test.ps1
function Test_SearchProjectItem_SUCCESS_Title{ Reset-InvokeCommandMock Mock_DatabaseRoot MockCall_GetProject_700 $p = Get-Mock_Project_700 ; $owner = $p.owner ; $projectNumber = $p.number # title refrence with differnt case and spaces $title = $p.searchInTitle.titleFilter # Act $result = Search-ProjectItem -Owner $owner -ProjectNumber $projectNumber -Filter $title Assert-Count -Expected $p.searchInTitle.Titles.Count -Presented $result $p.searchInTitle.Titles | ForEach-Object { Assert-Contains -Expected $_ -Presented $result.Title } } function Test_SearchProjectItem_SUCCESS_AnyField{ Reset-InvokeCommandMock Mock_DatabaseRoot MockCall_GetProject_700 $p = Get-Mock_Project_700; $owner = $p.owner ; $projectNumber = $p.number "development", "96", "rulasg-dev-1" | ForEach-Object{ $result = Search-ProjectItem -Owner $owner -ProjectNumber $projectNumber -Filter $_ -IncludeDone -AnyField Assert-Count -Expected $p.searchInAnyField.$_.totalCount -Presented $result foreach ($r in $result) { Assert-Contains -Expected $r.Title -Presented $p.searchInAnyField.$_.Titles } } } function Test_SearchProjectItem_FAIL{ Reset-InvokeCommandMock Mock_DatabaseRoot $Owner = "SomeOrg" ; $ProjectNumber = 164 $erroMessage= "Error: Project not found. Check owner and projectnumber" Mock_DatabaseRoot MockCall_GitHubOrgProjectWithFields_Null -Owner $owner -ProjectNumber $projectNumber # Run the command Start-MyTranscript $result = Search-ProjectItem -Owner $Owner -ProjectNumber $ProjectNumber -filter "any" $tt = Stop-MyTranscript Assert-IsNull -Object $result Assert-Contains -Expected $erroMessage -Presented $tt } |