Skip to content

Commit 9afd435

Browse files
committed
Add unit tests for /pass command
1 parent 9c6e781 commit 9afd435

File tree

1 file changed

+65
-0
lines changed

1 file changed

+65
-0
lines changed

troll_shield_test.go

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -252,3 +252,68 @@ func TestReportKills(t *testing.T) {
252252
reportKills(&bot, &update, int64(11))
253253
reportKills(&bot, &update, int64(10))
254254
}
255+
256+
func TestExtractPassUserName(t *testing.T) {
257+
tableTest := []struct {
258+
input string
259+
expected string
260+
}{
261+
{
262+
"/pass @lerax",
263+
"@lerax",
264+
},
265+
{
266+
"/pass First Name",
267+
"First Name",
268+
},
269+
}
270+
271+
for _, test := range tableTest {
272+
if got := extractPassUserName(test.input); got != test.expected {
273+
t.Errorf("Expected %q, got %q", test.expected, got)
274+
}
275+
276+
}
277+
}
278+
279+
func TestPassList(t *testing.T) {
280+
281+
bot := BotMockup{}
282+
update := telegram.Update{}
283+
message := telegram.Message{}
284+
chat := telegram.Chat{}
285+
message.Chat = &chat
286+
message.Text = "/pass @lerax"
287+
update.Message = &message
288+
user := telegram.User{UserName: "lerax"}
289+
290+
// adding test
291+
addPassList(&bot, &update)
292+
t.Logf("passList: %v", passList)
293+
if pass, ok := hasPass(user); pass != "@lerax" && ok != true {
294+
t.Errorf("User @lerax should have a pass: pass=%v, ok=%v", pass, ok)
295+
}
296+
297+
// removing test
298+
t.Logf("passList: %v", passList)
299+
removePassList(&bot, &update, "@lerax")
300+
if pass, ok := hasPass(user); ok != false {
301+
t.Errorf("User @lerax should not have more a pass: pass=%v, ok=%v", pass, ok)
302+
}
303+
}
304+
305+
func TestFromAdminEvent(t *testing.T) {
306+
update := telegram.Update{}
307+
message := telegram.Message{}
308+
user := telegram.User{UserName: "lerax"}
309+
message.From = &user
310+
update.Message = &message
311+
if got := fromAdminEvent(&update); got == false {
312+
t.Errorf("lerax is a eternal admin, it should be true")
313+
}
314+
315+
user.UserName = "delduca"
316+
if got := fromAdminEvent(&update); got == true {
317+
t.Errorf("delduca should not even being a member, neither admin.")
318+
}
319+
}

0 commit comments

Comments
 (0)