Add databaseId to assignees GraphQL fragment
The assignees query fragment only requested id, login, and name but the GitHubUser struct includes a DatabaseID field. Since the field was never requested from the API, it always defaulted to Go's zero value (0) in JSON output. This adds databaseId to the fragment so the actual value is returned. Also adds ExportData test cases for assignees on both Issue and PullRequest to verify databaseId round-trips correctly through JSON serialization.
This commit is contained in:
parent
cf862d65df
commit
34c3b3c809
3 changed files with 55 additions and 3 deletions
|
|
@ -107,6 +107,32 @@ func TestIssue_ExportData(t *testing.T) {
|
|||
}
|
||||
`),
|
||||
},
|
||||
{
|
||||
name: "assignees",
|
||||
fields: []string{"assignees"},
|
||||
inputJSON: heredoc.Doc(`
|
||||
{ "assignees": { "nodes": [
|
||||
{
|
||||
"id": "MDQ6VXNlcjE=",
|
||||
"login": "monalisa",
|
||||
"name": "Mona Lisa",
|
||||
"databaseId": 1234
|
||||
}
|
||||
] } }
|
||||
`),
|
||||
outputJSON: heredoc.Doc(`
|
||||
{
|
||||
"assignees": [
|
||||
{
|
||||
"id": "MDQ6VXNlcjE=",
|
||||
"login": "monalisa",
|
||||
"name": "Mona Lisa",
|
||||
"databaseId": 1234
|
||||
}
|
||||
]
|
||||
}
|
||||
`),
|
||||
},
|
||||
{
|
||||
name: "linked pull requests",
|
||||
fields: []string{"closedByPullRequestsReferences"},
|
||||
|
|
@ -316,6 +342,32 @@ func TestPullRequest_ExportData(t *testing.T) {
|
|||
}
|
||||
`),
|
||||
},
|
||||
{
|
||||
name: "assignees",
|
||||
fields: []string{"assignees"},
|
||||
inputJSON: heredoc.Doc(`
|
||||
{ "assignees": { "nodes": [
|
||||
{
|
||||
"id": "MDQ6VXNlcjE=",
|
||||
"login": "monalisa",
|
||||
"name": "Mona Lisa",
|
||||
"databaseId": 1234
|
||||
}
|
||||
] } }
|
||||
`),
|
||||
outputJSON: heredoc.Doc(`
|
||||
{
|
||||
"assignees": [
|
||||
{
|
||||
"id": "MDQ6VXNlcjE=",
|
||||
"login": "monalisa",
|
||||
"name": "Mona Lisa",
|
||||
"databaseId": 1234
|
||||
}
|
||||
]
|
||||
}
|
||||
`),
|
||||
},
|
||||
{
|
||||
name: "linked issues",
|
||||
fields: []string{"closingIssuesReferences"},
|
||||
|
|
|
|||
|
|
@ -388,7 +388,7 @@ func IssueGraphQL(fields []string) string {
|
|||
case "headRepository":
|
||||
q = append(q, `headRepository{id,name}`)
|
||||
case "assignees":
|
||||
q = append(q, `assignees(first:100){nodes{id,login,name},totalCount}`)
|
||||
q = append(q, `assignees(first:100){nodes{id,login,name,databaseId},totalCount}`)
|
||||
case "assignedActors":
|
||||
q = append(q, assignedActors)
|
||||
case "labels":
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ func TestPullRequestGraphQL(t *testing.T) {
|
|||
{
|
||||
name: "fields with nested structures",
|
||||
fields: []string{"author", "assignees"},
|
||||
want: "author{login,...on User{id,name}},assignees(first:100){nodes{id,login,name},totalCount}",
|
||||
want: "author{login,...on User{id,name}},assignees(first:100){nodes{id,login,name,databaseId},totalCount}",
|
||||
},
|
||||
{
|
||||
name: "compressed query",
|
||||
|
|
@ -67,7 +67,7 @@ func TestIssueGraphQL(t *testing.T) {
|
|||
{
|
||||
name: "fields with nested structures",
|
||||
fields: []string{"author", "assignees"},
|
||||
want: "author{login,...on User{id,name}},assignees(first:100){nodes{id,login,name},totalCount}",
|
||||
want: "author{login,...on User{id,name}},assignees(first:100){nodes{id,login,name,databaseId},totalCount}",
|
||||
},
|
||||
{
|
||||
name: "compressed query",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue