MCPcopy Index your code
hub / github.com/coder/coder / TestFetchPullRequestStatus

Function TestFetchPullRequestStatus

coderd/externalauth/gitprovider/github_test.go:649–791  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

647}
648
649func TestFetchPullRequestStatus(t *testing.T) {
650 t.Parallel()
651
652 type review struct {
653 ID int64 `json:"id"`
654 State string `json:"state"`
655 User struct {
656 Login string `json:"login"`
657 } `json:"user"`
658 }
659
660 makeReview := func(id int64, state, login string) review {
661 r := review{ID: id, State: state}
662 r.User.Login = login
663 return r
664 }
665
666 tests := []struct {
667 name string
668 pullJSON string
669 reviews []review
670 expectedState gitprovider.PRState
671 expectedDraft bool
672 changesRequested bool
673 }{
674 {
675 name: "OpenPR/NoReviews",
676 pullJSON: `{"state":"open","merged":false,"draft":false,"additions":10,"deletions":5,"changed_files":3,"head":{"sha":"abc123","ref":"feature-branch"}}`,
677 reviews: []review{},
678 expectedState: gitprovider.PRStateOpen,
679 expectedDraft: false,
680 changesRequested: false,
681 },
682 {
683 name: "OpenPR/SingleChangesRequested",
684 pullJSON: `{"state":"open","merged":false,"draft":false,"additions":10,"deletions":5,"changed_files":3,"head":{"sha":"abc123","ref":"feature-branch"}}`,
685 reviews: []review{makeReview(1, "CHANGES_REQUESTED", "alice")},
686 expectedState: gitprovider.PRStateOpen,
687 changesRequested: true,
688 },
689 {
690 name: "OpenPR/ChangesRequestedThenApproved",
691 pullJSON: `{"state":"open","merged":false,"draft":false,"additions":10,"deletions":5,"changed_files":3,"head":{"sha":"abc123","ref":"feature-branch"}}`,
692 reviews: []review{
693 makeReview(1, "CHANGES_REQUESTED", "alice"),
694 makeReview(2, "APPROVED", "alice"),
695 },
696 expectedState: gitprovider.PRStateOpen,
697 changesRequested: false,
698 },
699 {
700 name: "OpenPR/ChangesRequestedThenDismissed",
701 pullJSON: `{"state":"open","merged":false,"draft":false,"additions":10,"deletions":5,"changed_files":3,"head":{"sha":"abc123","ref":"feature-branch"}}`,
702 reviews: []review{
703 makeReview(1, "CHANGES_REQUESTED", "alice"),
704 makeReview(2, "DISMISSED", "alice"),
705 },
706 expectedState: gitprovider.PRStateOpen,

Callers

nothing calls this directly

Calls 11

CloseMethod · 0.95
ClientMethod · 0.95
NewFunction · 0.92
RunMethod · 0.65
SetMethod · 0.65
WriteMethod · 0.65
MarshalMethod · 0.45
HeaderMethod · 0.45
EqualMethod · 0.45
IsZeroMethod · 0.45

Tested by

no test coverage detected