43 рядки
1013 B
Go
43 рядки
1013 B
Go
package shared
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/mymmrac/telego"
|
|
th "github.com/mymmrac/telego/telegohandler"
|
|
|
|
"git.entityseven.com/rilaxik/pllist/internal/domain"
|
|
"git.entityseven.com/rilaxik/pllist/internal/service"
|
|
)
|
|
|
|
func TestPendingRouterDispatch(t *testing.T) {
|
|
router := NewPendingRouter()
|
|
called := false
|
|
router.Register(service.PendingCreateList, func(
|
|
_ *th.Context, _ domain.User, _ service.Pending, _ telego.Message,
|
|
) error {
|
|
called = true
|
|
return nil
|
|
})
|
|
|
|
handled, err := router.Dispatch(nil, domain.User{}, service.Pending{
|
|
Action: service.PendingCreateList,
|
|
}, telego.Message{})
|
|
if err != nil {
|
|
t.Fatalf("Dispatch() error = %v", err)
|
|
}
|
|
if !handled || !called {
|
|
t.Fatalf("Dispatch() handled = %v, called = %v", handled, called)
|
|
}
|
|
|
|
handled, err = router.Dispatch(nil, domain.User{}, service.Pending{
|
|
Action: "unknown",
|
|
}, telego.Message{})
|
|
if err != nil {
|
|
t.Fatalf("Dispatch() error = %v", err)
|
|
}
|
|
if handled {
|
|
t.Fatal("Dispatch() handled an unknown action")
|
|
}
|
|
}
|