78 lines
1.5 KiB
Go
78 lines
1.5 KiB
Go
package main
|
|
|
|
import "testing"
|
|
|
|
func TestReviewApprovalCheck(t *testing.T) {
|
|
tests := []struct {
|
|
Name string
|
|
GroupName string
|
|
InString string
|
|
Approved bool
|
|
Rejected bool
|
|
}{
|
|
{
|
|
Name: "Empty String",
|
|
GroupName: "group",
|
|
InString: "",
|
|
},
|
|
{
|
|
Name: "Random Text",
|
|
GroupName: "group",
|
|
InString: "some things LGTM",
|
|
},
|
|
{
|
|
Name: "Group name with Random Text means disapproval",
|
|
GroupName: "group",
|
|
InString: "@group: some things LGTM",
|
|
Rejected: true,
|
|
},
|
|
{
|
|
Name: "Bad name with Approval",
|
|
GroupName: "group2",
|
|
InString: "@group: LGTM",
|
|
},
|
|
{
|
|
Name: "Bad name with Approval",
|
|
GroupName: "group2",
|
|
InString: "@group: LGTM",
|
|
},
|
|
{
|
|
Name: "LGTM approval",
|
|
GroupName: "group2",
|
|
InString: "@group2: LGTM",
|
|
Approved: true,
|
|
},
|
|
{
|
|
Name: "approval",
|
|
GroupName: "group2",
|
|
InString: "@group2: approved",
|
|
Approved: true,
|
|
},
|
|
{
|
|
Name: "approval",
|
|
GroupName: "group2",
|
|
InString: "@group2: approve",
|
|
Approved: true,
|
|
},
|
|
{
|
|
Name: "disapproval",
|
|
GroupName: "group2",
|
|
InString: "@group2: disapprove",
|
|
Rejected: true,
|
|
},
|
|
}
|
|
|
|
for _, test := range tests {
|
|
t.Run(test.Name, func(t *testing.T) {
|
|
InitRegex(test.GroupName)
|
|
|
|
if r := ReviewAccepted(test.InString); r != test.Approved {
|
|
t.Error("ReviewAccepted() returned", r, "expecting", test.Approved)
|
|
}
|
|
if r := ReviewRejected(test.InString); r != test.Rejected {
|
|
t.Error("ReviewRejected() returned", r, "expecting", test.Rejected)
|
|
}
|
|
})
|
|
}
|
|
}
|