Файли
2026-11-07 01:35:12 +00:00

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")
}
}