Test/public/edit-sync-projectitem-comments.test.ps1
|
function Test_Edit_Sync_ProjectItem_AddComments_Issue { $p = Get-Mock_Project_700 ; $owner = $p.owner ; $projectNumber = $p.number $i = $p.issue $comment = "New comment" $comment2 = "Another comment2" MockCall_GetProject -MockProject $p -SkipItems MockCall_GetItem $i.id MockCallJson -Command "Invoke-AddComment -SubjectId $($i.contentId) -Comment ""New comment""" -filename "invoke-addcomment-$($i.contentId).json" MockCallJson -Command "Invoke-AddComment -SubjectId $($i.contentId) -Comment ""Another comment2""" -filename "invoke-addcomment-$($i.contentId).json" # Check the status of comments # $i = Get-projectItem -Owner $owner -ProjectNumber $projectNumber -ItemId $i.id # Act the edit part Edit-ProjectItem -Owner $owner -ProjectNumber $projectNumber -ItemId $i.id -FieldName "AddComment" -Value $comment # Assert the Edit part $staged = Get-ProjectItemStaged -Owner $owner -ProjectNumber $projectNumber Assert-AreEqual -Expected $comment -Presented $staged.$($i.id).addcomment.Value # Confirm that staged values are merged on GetItem $item = Get-ProjectItem -Owner $owner -ProjectNumber $projectNumber -ItemId $i.id Assert-AreEqual -Expected $comment -Presented $item.comments[-1].body Assert-AreEqual -Expected $comment -Presented $item.commentLast.body # Act the sync part Sync-ProjectItemStaged -Owner $owner -ProjectNumber $projectNumber $staged = Get-ProjectItemStaged -Owner $owner -ProjectNumber $projectNumber Assert-Count -Expected 0 -Presented $staged.Count # Assert comment is commited to database $item = Get-ProjectItem -Owner $owner -ProjectNumber $projectNumber -ItemId $i.id Assert-AreEqual -Expected $comment -Presented $item.comments[-1].body Assert-AreEqual -Expected $comment -Presented $item.commentLast.body # Act more comments on a item with already has comments Edit-ProjectItem -Owner $owner -ProjectNumber $projectNumber -ItemId $i.id -FieldName "AddComment" -Value $comment2 $item = Get-ProjectItem -Owner $owner -ProjectNumber $projectNumber -ItemId $i.id Sync-ProjectItemStaged -Owner $owner -ProjectNumber $projectNumber $staged = Get-ProjectItemStaged -Owner $owner -ProjectNumber $projectNumber Assert-Count -Expected 0 -Presented $staged.Count $item = Get-ProjectItem -Owner $owner -ProjectNumber $projectNumber -ItemId $i.id Assert-AreEqual -Expected $comment2 -Presented $item.comments[-1].body Assert-AreEqual -Expected $comment2 -Presented $item.commentLast.body } |