MCPcopy Index your code
hub / github.com/github/github-mcp-server / assertMinimalPullRequestProjectItem

Function assertMinimalPullRequestProjectItem

pkg/github/projects_test.go:277–328  ·  view source on GitHub ↗
(t *testing.T, rawJSON string, item map[string]any)

Source from the content-addressed store, hash-verified

275}
276
277func assertMinimalPullRequestProjectItem(t *testing.T, rawJSON string, item map[string]any) {
278 t.Helper()
279
280 assert.Equal(t, float64(1001), item["id"])
281 assert.Equal(t, "PVTI_1", item["node_id"])
282 assert.Equal(t, "PullRequest", item["content_type"])
283 assert.Equal(t, "creator", item["creator"])
284 assert.Equal(t, "2026-05-28T07:39:37Z", item["created_at"])
285 assert.Equal(t, "2026-05-28T07:40:15Z", item["updated_at"])
286
287 content, ok := item["content"].(map[string]any)
288 require.True(t, ok)
289 assert.Equal(t, float64(42), content["number"])
290 assert.Equal(t, "Reduce project item output", content["title"])
291 assert.Equal(t, "closed", content["state"])
292 assert.Equal(t, "https://github.com/cli/cli/pull/42", content["html_url"])
293 assert.Equal(t, "cli/cli", content["repository"])
294 assert.Equal(t, "octocat", content["author"])
295 assert.Equal(t, true, content["merged"])
296 assert.Equal(t, "2026-05-07T18:41:21Z", content["created_at"])
297 assert.Equal(t, "2026-05-07T21:21:57Z", content["updated_at"])
298 assert.Equal(t, "2026-05-07T21:21:55Z", content["closed_at"])
299 assert.Equal(t, "2026-05-07T21:21:55Z", content["merged_at"])
300 assert.Equal(t, []any{"hubot"}, content["assignees"])
301 assert.Equal(t, []any{"bug"}, content["labels"])
302 assert.Equal(t, "v1.0", content["milestone"])
303
304 fields, ok := item["fields"].([]any)
305 require.True(t, ok)
306 require.Len(t, fields, 1)
307 field, ok := fields[0].(map[string]any)
308 require.True(t, ok)
309 assert.Equal(t, float64(301), field["id"])
310 assert.Equal(t, "Status", field["name"])
311 assert.Equal(t, "single_select", field["data_type"])
312 value, ok := field["value"].(map[string]any)
313 require.True(t, ok)
314 assert.Equal(t, "opt1", value["id"])
315 assert.Equal(t, "Done", value["name"])
316 assert.Equal(t, "GREEN", value["color"])
317
318 assert.NotContains(t, rawJSON, `"body"`)
319 assert.NotContains(t, rawJSON, `"archive_url"`)
320 assert.NotContains(t, rawJSON, `"followers_url"`)
321 assert.NotContains(t, rawJSON, `"events_url"`)
322 assert.NotContains(t, rawJSON, `"_links"`)
323 assert.NotContains(t, rawJSON, `"head"`)
324 assert.NotContains(t, rawJSON, `"base"`)
325 assert.NotContains(t, rawJSON, `"url":`)
326 assert.NotContains(t, rawJSON, `"statuses_url"`)
327 assert.NotContains(t, rawJSON, `"diff_url"`)
328}
329
330func Test_ProjectsList_ListProjectItems(t *testing.T) {
331 toolDef := ProjectsList(translations.NullTranslationHelper)

Calls

no outgoing calls

Tested by

no test coverage detected