Skip to content

Commit 1f6c9be

Browse files
authored
Merge pull request #155 from rulasg/get-comments-from-issues
feat(graphql): add comments retrieval to ProjectV2Item queries
2 parents c48779f + 6f44f57 commit 1f6c9be

7 files changed

Lines changed: 404 additions & 170 deletions

File tree

Test/private/MockCall_Project700.ps1

Lines changed: 35 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -55,55 +55,60 @@ function Get-Mock_Project_700 {
5555
$issue = $pActual.items.nodes | Where-Object { $_.content.title -eq "Issue for development" }
5656
$fss = $issue.fieldValues.nodes | Where-Object { $_.field.id -eq $($fieldsingleselect.id) }
5757
$project.issue = @{
58-
id = $issue.id
59-
contentId = $issue.content.id
60-
title = $issue.content.title
61-
repositoryName = $issue.content.repository.name
62-
status = ($issue.fieldValues.nodes | Where-Object { $_.field.name -eq "Status" }).name
63-
fieldtext = ($issue.fieldValues.nodes | Where-Object { $_.field.id -eq $($fieldtext.id) }).text
58+
id = $issue.id
59+
contentId = $issue.content.id
60+
title = $issue.content.title
61+
repositoryName = $issue.content.repository.name
62+
status = ($issue.fieldValues.nodes | Where-Object { $_.field.name -eq "Status" }).name
63+
fieldtext = ($issue.fieldValues.nodes | Where-Object { $_.field.id -eq $($fieldtext.id) }).text
6464
fieldsingleselect = @{
65-
name = $fss.name
66-
optionId = ($fss.field.options | where-object {$_.name -eq $fss.name}).Id
65+
name = $fss.name
66+
optionId = ($fss.field.options | where-object { $_.name -eq $fss.name }).Id
67+
}
68+
comments = @{
69+
totalCount = $issue.content.comments.totalCount
70+
last = $issue.content.comments.nodes[-1]
71+
propertyCount = ($issue.content.comments.nodes[-1] | Get-Member -MemberType *Property).Count
6772
}
6873
}
69-
74+
7075
# PullRequest for developer
7176
$pullRequest = $pActual.items.nodes | Where-Object { $_.content.title -eq "PullRequest for development" }
7277
$fss = $pullRequest.fieldValues.nodes | Where-Object { $_.field.id -eq $($fieldsingleselect.id) }
7378
$project.pullrequest = @{
74-
id = $pullRequest.id
75-
contentId = $pullRequest.content.id
76-
title = $pullRequest.content.title
77-
repositoryName = $pullRequest.content.repository.name
78-
status = ($pullRequest.fieldValues.nodes | Where-Object { $_.field.name -eq "Status" }).name
79-
fieldtext = ($pullRequest.fieldValues.nodes | Where-Object { $_.field.id -eq $($fieldtext.id) }).text
79+
id = $pullRequest.id
80+
contentId = $pullRequest.content.id
81+
title = $pullRequest.content.title
82+
repositoryName = $pullRequest.content.repository.name
83+
status = ($pullRequest.fieldValues.nodes | Where-Object { $_.field.name -eq "Status" }).name
84+
fieldtext = ($pullRequest.fieldValues.nodes | Where-Object { $_.field.id -eq $($fieldtext.id) }).text
8085
fieldsingleselect = @{
81-
name = $fss.name
82-
optionId = ($fss.field.options | where-object {$_.name -eq $fss.name}).Id
86+
name = $fss.name
87+
optionId = ($fss.field.options | where-object { $_.name -eq $fss.name }).Id
8388
}
8489
}
8590

8691
# DraftIssue for developer
8792
$draftIssue = $pActual.items.nodes | Where-Object { $_.content.title -eq "DraftIssue for development" }
8893
$fss = $draftIssue.fieldValues.nodes | Where-Object { $_.field.id -eq $($fieldsingleselect.id) }
8994
$project.draftissue = @{
90-
id = $draftIssue.id
91-
contentId = $draftIssue.content.id
92-
title = $draftIssue.content.title
93-
status = ($draftIssue.fieldValues.nodes | Where-Object { $_.field.name -eq "Status" }).name
94-
fieldtext = ($draftIssue.fieldValues.nodes | Where-Object { $_.field.id -eq $($fieldtext.id) }).text
95+
id = $draftIssue.id
96+
contentId = $draftIssue.content.id
97+
title = $draftIssue.content.title
98+
status = ($draftIssue.fieldValues.nodes | Where-Object { $_.field.name -eq "Status" }).name
99+
fieldtext = ($draftIssue.fieldValues.nodes | Where-Object { $_.field.id -eq $($fieldtext.id) }).text
95100
fieldsingleselect = @{
96-
name = $fss.name
97-
optionId = ($fss.field.options | where-object {$_.name -eq $fss.name}).Id
101+
name = $fss.name
102+
optionId = ($fss.field.options | where-object { $_.name -eq $fss.name }).Id
98103
}
99104
}
100105

101106
# Search tests
102107
$project.searchInTitle = @{}
103108
$project.searchInTitle.titleFilter = "development"
104109
$project.searchInTitle.Titles = $pActual.items.nodes.content.title | Where-Object { $_ -like "*development*" }
105-
$project.searchInTitle.attributesDefault = @("Title","id")
106-
$project.searchInTitle.attributes = @("Title","id","url","Status","field-text")
110+
$project.searchInTitle.attributesDefault = @("Title", "id")
111+
$project.searchInTitle.attributes = @("Title", "id", "url", "Status", "field-text")
107112

108113
$project.searchInAnyField = @{}
109114
$project.searchInAnyField."development" = @{}
@@ -115,7 +120,7 @@ function Get-Mock_Project_700 {
115120
"PullRequest for development"
116121
"Create comprehensive .NET Web API development initialization documentation with 10 structured tasks"
117122
"DraftIssue for development"
118-
)
123+
)
119124
$project.searchInAnyField."development".totalCount = $project.searchInAnyField."development".Titles.Count
120125

121126
$project.searchInAnyField."96" = @{}
@@ -143,9 +148,10 @@ function MockCall_GetProject_700 {
143148

144149
$p = Get-Mock_Project_700 ; $owner = $p.owner ; $projectNumber = $p.number
145150

146-
if( $SkipItems ){
151+
if ( $SkipItems ) {
147152
$filename = $p.projectFile_skipitems
148-
} else {
153+
}
154+
else {
149155
$filename = $p.projectFile
150156
}
151157

0 commit comments

Comments
 (0)