github.com/quickfeed/quickfeed@v0.0.0-20240507093252-ed8ca812a09c/qf/pull_request_test.go (about)

     1  package qf_test
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/quickfeed/quickfeed/qf"
     7  )
     8  
     9  func TestIsValid(t *testing.T) {
    10  	tests := map[string]struct {
    11  		pr   *qf.PullRequest
    12  		want bool
    13  	}{
    14  		"Valid":                   {pr: &qf.PullRequest{ScmRepositoryID: 1, TaskID: 1, IssueID: 1, UserID: 1, SourceBranch: "A", Number: 1}, want: true},
    15  		"Invalid ScmRepositoryID": {pr: &qf.PullRequest{ScmRepositoryID: 0, TaskID: 1, IssueID: 1, UserID: 1, SourceBranch: "A", Number: 1}, want: false},
    16  		"Invalid TaskID":          {pr: &qf.PullRequest{ScmRepositoryID: 1, TaskID: 0, IssueID: 1, UserID: 1, SourceBranch: "A", Number: 1}, want: false},
    17  		"Invalid IssueID":         {pr: &qf.PullRequest{ScmRepositoryID: 1, TaskID: 1, IssueID: 0, UserID: 1, SourceBranch: "A", Number: 1}, want: false},
    18  		"Invalid UserID":          {pr: &qf.PullRequest{ScmRepositoryID: 1, TaskID: 1, IssueID: 1, UserID: 0, SourceBranch: "A", Number: 1}, want: false},
    19  		"Invalid BranchName":      {pr: &qf.PullRequest{ScmRepositoryID: 1, TaskID: 1, IssueID: 1, UserID: 1, SourceBranch: "", Number: 1}, want: false},
    20  		"Invalid Number":          {pr: &qf.PullRequest{ScmRepositoryID: 1, TaskID: 1, IssueID: 1, UserID: 1, SourceBranch: "A", Number: 0}, want: false},
    21  	}
    22  	for name, tt := range tests {
    23  		t.Run(name, func(t *testing.T) {
    24  			got := tt.pr.Valid()
    25  			if tt.want != got {
    26  				t.Errorf("IsValid() = %t, expected %t\npr: %v", got, tt.want, tt.pr)
    27  			}
    28  		})
    29  	}
    30  }
    31  
    32  func TestHasFeedbackComment(t *testing.T) {
    33  	tests := map[string]struct {
    34  		pr   *qf.PullRequest
    35  		want bool
    36  	}{
    37  		"Comment":    {pr: &qf.PullRequest{ScmCommentID: 1}, want: true},
    38  		"No comment": {pr: &qf.PullRequest{ScmCommentID: 0}, want: false},
    39  	}
    40  	for name, tt := range tests {
    41  		t.Run(name, func(t *testing.T) {
    42  			got := tt.pr.HasFeedbackComment()
    43  			if tt.want != got {
    44  				t.Errorf("HasFeedbackComment() = %t, expected %t\npr: %v", got, tt.want, tt.pr)
    45  			}
    46  		})
    47  	}
    48  }