@@ -303,6 +303,88 @@ func TestProjectsService_ListProjectFieldsForUser(t *testing.T) {
303303 }
304304}
305305
306+ func TestProjectsService_GetProjectFieldForOrg (t * testing.T ) {
307+ t .Parallel ()
308+ client , mux , _ := setup (t )
309+
310+ mux .HandleFunc ("/orgs/o/projectsV2/1/fields/1" , func (w http.ResponseWriter , r * http.Request ) {
311+ testMethod (t , r , "GET" )
312+ fmt .Fprint (w , `
313+ {
314+ "id": 1,
315+ "node_id": "node_1",
316+ "name": "Status",
317+ "dataType": "single_select",
318+ "url": "https://api.github.com/projects/1/fields/field1",
319+ "options": [
320+ {"id": 1, "name": "Todo", "color": "blue", "description": "Tasks to be done"},
321+ {"id": 2, "name": "In Progress", "color": "yellow"}
322+ ],
323+ "created_at": "2011-01-02T15:04:05Z",
324+ "updated_at": "2012-01-02T15:04:05Z"
325+ }` )
326+ })
327+
328+ ctx := t .Context ()
329+ field , _ , err := client .Projects .GetProjectFieldForOrg (ctx , "o" , 1 , 1 )
330+ if err != nil {
331+ t .Fatalf ("Projects.GetProjectFieldForOrg returned error: %v" , err )
332+ }
333+ if field == nil || field .ID == nil || * field .ID != 1 {
334+ t .Fatalf ("unexpected field: %+v" , field )
335+ }
336+
337+ const methodName = "GetProjectFieldForOrg"
338+ testNewRequestAndDoFailure (t , methodName , client , func () (* Response , error ) {
339+ got , resp , err := client .Projects .GetProjectFieldForOrg (ctx , "o" , 1 , 1 )
340+ if got != nil {
341+ t .Errorf ("testNewRequestAndDoFailure %v = %#v, want nil" , methodName , got )
342+ }
343+ return resp , err
344+ })
345+ }
346+
347+ func TestProjectsService_GetProjectFieldForUser (t * testing.T ) {
348+ t .Parallel ()
349+ client , mux , _ := setup (t )
350+
351+ mux .HandleFunc ("/users/u/projectsV2/1/fields/3" , func (w http.ResponseWriter , r * http.Request ) {
352+ testMethod (t , r , "GET" )
353+ fmt .Fprint (w , `
354+ {
355+ "id": 3,
356+ "node_id": "node_3",
357+ "name": "Status",
358+ "dataType": "single_select",
359+ "url": "https://api.github.com/projects/1/fields/field3",
360+ "options": [
361+ {"id": 1, "name": "Done", "color": "red", "description": "Done task"},
362+ {"id": 2, "name": "In Progress", "color": "yellow"}
363+ ],
364+ "created_at": "2011-01-02T15:04:05Z",
365+ "updated_at": "2012-01-02T15:04:05Z"
366+ }` )
367+ })
368+
369+ ctx := t .Context ()
370+ field , _ , err := client .Projects .GetProjectFieldForUser (ctx , "u" , 1 , 3 )
371+ if err != nil {
372+ t .Fatalf ("Projects.GetProjectFieldForUser returned error: %v" , err )
373+ }
374+ if field == nil || field .ID == nil || * field .ID != 3 {
375+ t .Fatalf ("unexpected field: %+v" , field )
376+ }
377+
378+ const methodName = "GetProjectFieldForUser"
379+ testNewRequestAndDoFailure (t , methodName , client , func () (* Response , error ) {
380+ got , resp , err := client .Projects .GetProjectFieldForUser (ctx , "u" , 1 , 3 )
381+ if got != nil {
382+ t .Errorf ("testNewRequestAndDoFailure %v = %#v, want nil" , methodName , got )
383+ }
384+ return resp , err
385+ })
386+ }
387+
306388func TestProjectsService_ListProjectsForUser_pagination (t * testing.T ) {
307389 t .Parallel ()
308390 client , mux , _ := setup (t )
0 commit comments