From 375c497835f1903149f76130720e97cb331b1121 Mon Sep 17 00:00:00 2001 From: tommaso-moro Date: Fri, 1 Aug 2025 16:25:28 +0100 Subject: [PATCH] add title to get_discussion query --- pkg/github/discussions.go | 2 ++ pkg/github/discussions_test.go | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/pkg/github/discussions.go b/pkg/github/discussions.go index 905a1b709..91487f7aa 100644 --- a/pkg/github/discussions.go +++ b/pkg/github/discussions.go @@ -295,6 +295,7 @@ func GetDiscussion(getGQLClient GetGQLClientFn, t translations.TranslationHelper Repository struct { Discussion struct { Number githubv4.Int + Title githubv4.String Body githubv4.String CreatedAt githubv4.DateTime URL githubv4.String `graphql:"url"` @@ -315,6 +316,7 @@ func GetDiscussion(getGQLClient GetGQLClientFn, t translations.TranslationHelper d := q.Repository.Discussion discussion := &github.Discussion{ Number: github.Ptr(int(d.Number)), + Title: github.Ptr(string(d.Title)), Body: github.Ptr(string(d.Body)), HTMLURL: github.Ptr(string(d.URL)), CreatedAt: &github.Timestamp{Time: d.CreatedAt.Time}, diff --git a/pkg/github/discussions_test.go b/pkg/github/discussions_test.go index 945783ae1..9458dfce0 100644 --- a/pkg/github/discussions_test.go +++ b/pkg/github/discussions_test.go @@ -484,7 +484,7 @@ func Test_GetDiscussion(t *testing.T) { assert.ElementsMatch(t, toolDef.InputSchema.Required, []string{"owner", "repo", "discussionNumber"}) // Use exact string query that matches implementation output - qGetDiscussion := "query($discussionNumber:Int!$owner:String!$repo:String!){repository(owner: $owner, name: $repo){discussion(number: $discussionNumber){number,body,createdAt,url,category{name}}}}" + qGetDiscussion := "query($discussionNumber:Int!$owner:String!$repo:String!){repository(owner: $owner, name: $repo){discussion(number: $discussionNumber){number,title,body,createdAt,url,category{name}}}}" vars := map[string]interface{}{ "owner": "owner", @@ -503,6 +503,7 @@ func Test_GetDiscussion(t *testing.T) { response: githubv4mock.DataResponse(map[string]any{ "repository": map[string]any{"discussion": map[string]any{ "number": 1, + "title": "Test Discussion Title", "body": "This is a test discussion", "url": "https://github.com/owner/repo/discussions/1", "createdAt": "2025-04-25T12:00:00Z", @@ -513,6 +514,7 @@ func Test_GetDiscussion(t *testing.T) { expected: &github.Discussion{ HTMLURL: github.Ptr("https://github.com/owner/repo/discussions/1"), Number: github.Ptr(1), + Title: github.Ptr("Test Discussion Title"), Body: github.Ptr("This is a test discussion"), CreatedAt: &github.Timestamp{Time: time.Date(2025, 4, 25, 12, 0, 0, 0, time.UTC)}, DiscussionCategory: &github.DiscussionCategory{ @@ -549,6 +551,7 @@ func Test_GetDiscussion(t *testing.T) { require.NoError(t, json.Unmarshal([]byte(text), &out)) assert.Equal(t, *tc.expected.HTMLURL, *out.HTMLURL) assert.Equal(t, *tc.expected.Number, *out.Number) + assert.Equal(t, *tc.expected.Title, *out.Title) assert.Equal(t, *tc.expected.Body, *out.Body) // Check category label assert.Equal(t, *tc.expected.DiscussionCategory.Name, *out.DiscussionCategory.Name)