diff --git a/Test/public/project_item.searchprojectitem.test.ps1 b/Test/public/project_item.searchprojectitem.test.ps1 index 112b9b0..c7cfbe4 100644 --- a/Test/public/project_item.searchprojectitem.test.ps1 +++ b/Test/public/project_item.searchprojectitem.test.ps1 @@ -122,4 +122,26 @@ function Test_SearchProjectItem_AND_Filter_SUCCESS { # Negative: second token missing $notFound = Search-ProjectItem -Owner $Owner -ProjectNumber $ProjectNumber -Filter "UniqueSearchAlpha","MissingZeta" Assert-Count -Expected 0 -Presented $notFound -} \ No newline at end of file +} + +function Test_StubShowProjectInbox_SUCCESS { + + # Arrange + Reset-InvokeCommandMock + $p = Get-Mock_Project_700 + $owner = $p.owner + $projectNumber = $p.number + MockCall_GetProject_700 + $expected = @($p.items.values | Where-Object { [string]::IsNullOrWhiteSpace($_.Status) }) + + # Act + $result = Stub_ShowProjectInbox -Owner $owner -ProjectNumber $projectNumber -PassThru + + # Assert + $itemsWithStatus = @($result | Where-Object { -not [string]::IsNullOrWhiteSpace($_.Status) }) + Assert-Count -Expected $expected.Count -Presented $result + Assert-Count -Expected 0 -Presented $itemsWithStatus + foreach($id in $expected.id){ + Assert-Contains -Expected $id -Presented $result.id + } +} diff --git a/public/items/project_item.ps1 b/public/items/project_item.ps1 index 04ffae4..90958c5 100644 --- a/public/items/project_item.ps1 +++ b/public/items/project_item.ps1 @@ -245,6 +245,27 @@ function Search-ProjectItem { } Export-ModuleMember -Function Search-ProjectItem -Alias "spi" +function Stub_ShowProjectInbox{ + [CmdletBinding()] + param( + [Parameter()][string]$Owner, + [Parameter()][string]$ProjectNumber, + [Parameter()][switch]$PassThru + ) + + ($Owner, $ProjectNumber) = Resolve-ProjectParameters -Owner $Owner -ProjectNumber $ProjectNumber + + $items = Search-ProjectItem -Owner $Owner -ProjectNumber $ProjectNumber -IncludeDone -PassThru + $items = @($items | Where-Object { [string]::IsNullOrWhiteSpace($_.Status) }) + + if($PassThru){ + return $items + } + + return $items | Use-Order + +} Export-ModuleMember -Function Stub_ShowProjectInbox + function Format-ProjectItem{ [CmdletBinding()] [Alias("fpi")]