Test/public/project/getproject.test.ps1
|
function Test_UpdateProject_Success{ # enable-invokeCommandAliasModule $p = Get-Mock_Project_700 ; $owner = $p.owner ; $projectNumber = $p.number $cacheFileName = Get-Mock_DatabaseRootPath | Join-Path -ChildPath $p.cacheFileName MockCall_GetProject $p $result = Update-Project -Owner $owner -ProjectNumber $projectNumber Assert-IsTrue $result Assert-ItemExist -Path $cacheFileName $result = Get-Project -Owner $owner -ProjectNumber $projectNumber Assert-Count -Expected $p.items.totalCount -Presented $result.items Assert-Count -Expected $p.fields.totalCount -Presented $result.fields } function Test_UpdateProject_SkipItems_Success{ # enable-invokeCommandAliasModule $p = Get-Mock_Project_700 ; $owner = $p.owner ; $projectNumber = $p.number $cacheFileName = Get-Mock_DatabaseRootPath | Join-Path -ChildPath $p.cacheFileName MockCall_GetProject $p -SkipItems $result = Update-Project -Owner $owner -ProjectNumber $projectNumber -SkipItems Assert-IsTrue $result Assert-ItemExist -Path $cacheFileName $result = Get-Project -Owner $owner -ProjectNumber $projectNumber Assert-Count -Expected 0 -Presented $result.items Assert-Count -Expected $p.fields.totalCount -Presented $result.fields } function Test_UpdateProject_With_Query_Success{ # enable-invokeCommandAliasModule $p = Get-Mock_Project_700 ; $owner = $p.owner ; $projectNumber = $p.number $query = $p.getProjectWithQuery.query $fileName = $p.getProjectWithQuery.getProjectWithQueryMockFile $totalCount = $p.getProjectWithQuery.totalCount MockCall_GitHubOrgProjectWithFields -Owner $owner -ProjectNumber $projectNumber -Query $query -FileName $fileName $result = Update-Project -Owner $owner -ProjectNumber $projectNumber -Query $query Assert-IsTrue $result $result = Get-Project -Owner $owner -ProjectNumber $projectNumber Assert-Count -Expected $totalCount -Presented $result.items } function Test_UpdateProject_With_Query_Success_Update{ $p = Get-Mock_Project_700 ; $owner = $p.owner ; $projectNumber = $p.number $cacheFileName = $p.cacheFileName $q = $p.getProjectWithQuery $query = $q.query $fieldName = $q.FieldName $fieldValueActual = $q.FieldValueActual $fieldValueNew = $q.FieldValueNew $totalCount = $q.totalCount MockCall_GetProject $p -Cache MockCall_GitHubOrgProjectWithFields -Owner $owner -ProjectNumber $projectNumber -Query $query -FileName $q.getProjectWithQueryMockFile # update field-text to a new value from Actual to check if it´s updated when calling Update-ProjectDatabase with a query Update-Mock_DatabaseFileWithReplace -Filename $cacheFileName -SearchString $q.stringToReplaceFrom -ReplaceString $q.stringToReplaceTo # Assert the arrangement ## Ni items with old value $result = Search-ProjectItem -Owner $owner -ProjectNumber $projectNumber -FieldName $fieldName -Filter $fieldValueActual -Exact -IncludeDone Assert-Count -Expected 0 -Presented $result ## Correct items with new value $result = Search-ProjectItem -Owner $owner -ProjectNumber $projectNumber -FieldName $fieldName -Filter $fieldValueNew -Exact -IncludeDone Assert-Count -Expected $totalCount -Presented $result ## Confirm total number of items $prj = Get-Project -Owner $owner -ProjectNumber $projectNumber Assert-Count -Expected $p.items.totalCount -Presented $prj.items # Act - Should replace new value back to actual $result = Update-Project -Owner $owner -ProjectNumber $projectNumber -Query $query # Assert confirm field-text value is back to actual Assert-IsTrue $result $result = Search-ProjectItem -Owner $owner -ProjectNumber $projectNumber -FieldName $fieldName -Filter $fieldValueActual -Exact -IncludeDone Assert-Count -Expected $totalCount -Presented $result ## Confirm total number of items $prj = Get-Project -Owner $owner -ProjectNumber $projectNumber Assert-Count -Expected $p.items.totalCount -Presented $prj.items } |