forked from alexellis/derek
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcommentHandler_test.go
More file actions
148 lines (133 loc) · 3.24 KB
/
commentHandler_test.go
File metadata and controls
148 lines (133 loc) · 3.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
package main
import (
"testing"
)
var actionOptions = []struct {
title string
body string
expectedAction string
}{
{
title: "Correct reopen command",
body: "Derek reopen",
expectedAction: "reopen",
},
{ //this case replaces Test_Parsing_Close
title: "Correct close command",
body: "Derek close",
expectedAction: "close",
},
{
title: "invalid command",
body: "Derek dance",
expectedAction: "",
},
{
title: "Longer reopen command",
body: "Derek reopen: ",
expectedAction: "reopen",
},
{
title: "Longer close command",
body: "Derek close: ",
expectedAction: "close",
},
}
func Test_Parsing_OpenClose(t *testing.T) {
for _, test := range actionOptions {
t.Run(test.title, func(t *testing.T) {
action := parse(test.body)
if action.Type != test.expectedAction {
t.Errorf("Action - want: %s, got %s", test.expectedAction, action.Type)
}
})
}
}
func Test_Parsing_Labels(t *testing.T) {
var labelOptions = []struct {
title string
body string
expectedType string
expectedVal string
}{
{ //this case replaces Test_Parsing_AddLabel
title: "Add label of demo",
body: "Derek add label: demo",
expectedType: "AddLabel",
expectedVal: "demo",
},
{
title: "Remove label of demo",
body: "Derek remove label: demo",
expectedType: "RemoveLabel",
expectedVal: "demo",
},
{
title: "Invalid label action",
body: "Derek peel label: demo",
expectedType: "",
expectedVal: "",
},
}
for _, test := range labelOptions {
t.Run(test.title, func(t *testing.T) {
action := parse(test.body)
if action.Type != test.expectedType || action.Value != test.expectedVal {
t.Errorf("Action - wanted: %s, got %s\nLabel - wanted: %s, got %s", test.expectedType, action.Type, test.expectedVal, action.Value)
}
})
}
}
func Test_Parsing_Assignments(t *testing.T) {
var assignmentOptions = []struct {
title string
body string
expectedType string
expectedVal string
}{
{
title: "Assign to burt",
body: "Derek assign: burt",
expectedType: "Assign",
expectedVal: "burt",
},
{
title: "Unassign burt",
body: "Derek unassign: burt",
expectedType: "Unassign",
expectedVal: "burt",
},
{
title: "Assign to me",
body: "Derek assign: me",
expectedType: "Assign",
expectedVal: "me",
},
{
title: "Unassign me",
body: "Derek unassign: me",
expectedType: "Unassign",
expectedVal: "me",
},
{
title: "Invalid assignment action",
body: "Derek consign: burt",
expectedType: "",
expectedVal: "",
},
{
title: "Unassign blank",
body: "Derek unassign: ",
expectedType: "",
expectedVal: "",
},
}
for _, test := range assignmentOptions {
t.Run(test.title, func(t *testing.T) {
action := parse(test.body)
if action.Type != test.expectedType || action.Value != test.expectedVal {
t.Errorf("Action - wanted: %s, got %s\nMaintainer - wanted: %s, got %s", test.expectedType, action.Type, test.expectedVal, action.Value)
}
})
}
}