18 lines
681 B
Go
18 lines
681 B
Go
package task
|
|
|
|
import (
|
|
"context"
|
|
"encoding/json"
|
|
"testing"
|
|
)
|
|
|
|
func TestRegistryIsComposableAndIdempotent(t *testing.T) {
|
|
registry := NewRegistry()
|
|
registry.RegisterAll([]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{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)
|
|
}
|
|
}
|