github.com/ungtb10d/cli/v2@v2.0.0-20221110210412-98537dd9d6a1/api/pull_request_test.go (about) 1 package api 2 3 import ( 4 "encoding/json" 5 "testing" 6 7 "github.com/stretchr/testify/assert" 8 ) 9 10 func TestPullRequest_ChecksStatus(t *testing.T) { 11 pr := PullRequest{} 12 payload := ` 13 { "statusCheckRollup": { "nodes": [{ "commit": { 14 "statusCheckRollup": { 15 "contexts": { 16 "nodes": [ 17 { "state": "SUCCESS" }, 18 { "state": "PENDING" }, 19 { "state": "FAILURE" }, 20 { "status": "IN_PROGRESS", 21 "conclusion": null }, 22 { "status": "COMPLETED", 23 "conclusion": "SUCCESS" }, 24 { "status": "COMPLETED", 25 "conclusion": "FAILURE" }, 26 { "status": "COMPLETED", 27 "conclusion": "ACTION_REQUIRED" }, 28 { "status": "COMPLETED", 29 "conclusion": "STALE" } 30 ] 31 } 32 } 33 } }] } } 34 ` 35 err := json.Unmarshal([]byte(payload), &pr) 36 assert.NoError(t, err) 37 38 checks := pr.ChecksStatus() 39 assert.Equal(t, 8, checks.Total) 40 assert.Equal(t, 3, checks.Pending) 41 assert.Equal(t, 3, checks.Failing) 42 assert.Equal(t, 2, checks.Passing) 43 }