kra-new/pkg/task/registry_test.go

20 lines
715 B
Go

package task
import (
"context"
"encoding/json"
"testing"
)
func TestRegistryIsComposableAndIdempotent(t *testing.T) {
registry := NewRegistry()
for _, method := range []Method{{Name: "orders.sync", Run: func(context.Context, json.RawMessage) error { return nil }}, {Name: "system.cleanup", Run: func(context.Context, json.RawMessage) error { return nil }}} {
registry.Register(method)
}
registry.Register(Method{Name: "orders.sync", Description: "updated", Run: func(context.Context, json.RawMessage) error { return nil }})
methods := registry.List()
if len(methods) != 2 || methods[0].Name != "orders.sync" || methods[0].Description != "updated" {
t.Fatalf("unexpected methods: %#v", methods)
}
}