@@ -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