Projeto bot pontos
This commit is contained in:
40
backend/internal/bot/router_test.go
Normal file
40
backend/internal/bot/router_test.go
Normal file
@@ -0,0 +1,40 @@
|
||||
package bot
|
||||
|
||||
import (
|
||||
"reflect"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestParse(t *testing.T) {
|
||||
cases := []struct {
|
||||
in string
|
||||
command string
|
||||
args []string
|
||||
}{
|
||||
{"/status", "/status", []string{}},
|
||||
{"/Status@meu_bot", "/status", []string{}},
|
||||
{" /ativarusuario 42 ", "/ativarusuario", []string{"42"}},
|
||||
{"oi", "", nil},
|
||||
{"", "", nil},
|
||||
}
|
||||
for _, c := range cases {
|
||||
command, args := parse(c.in)
|
||||
if command != c.command {
|
||||
t.Errorf("parse(%q) comando = %q, esperado %q", c.in, command, c.command)
|
||||
}
|
||||
if c.args != nil && !reflect.DeepEqual(args, c.args) {
|
||||
t.Errorf("parse(%q) args = %v, esperado %v", c.in, args, c.args)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestParseID(t *testing.T) {
|
||||
if id, ok := parseID([]string{"42"}); !ok || id != 42 {
|
||||
t.Errorf("parseID(42) = %d, %v", id, ok)
|
||||
}
|
||||
for _, invalid := range [][]string{nil, {"abc"}, {"-1"}, {"1", "2"}} {
|
||||
if _, ok := parseID(invalid); ok {
|
||||
t.Errorf("parseID(%v) deveria falhar", invalid)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user