(t *testing.T, rawJSON string, item map[string]any)
| 275 | } |
| 276 | |
| 277 | func 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 | |
| 330 | func Test_ProjectsList_ListProjectItems(t *testing.T) { |
| 331 | toolDef := ProjectsList(translations.NullTranslationHelper) |
no outgoing calls
no test coverage detected