Prefix replacement of the old application-nested module path in go.mod and every import. No identifier, string, table, migration ID, config key or comment changes.
49 lines
1.3 KiB
Go
49 lines
1.3 KiB
Go
package classes
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
"git.golem15.com/golem15/sm-user-plugin/models"
|
|
"git.golem15.com/golem15/summercms/modules/festival"
|
|
)
|
|
|
|
func TestGetApiArrayEventMerge(t *testing.T) {
|
|
bus := festival.New()
|
|
bus.ListenPriority[*GetApiArrayEvent]("first", 0, func(_ context.Context, e *GetApiArrayEvent) error {
|
|
e.Collected()["organisation_id"] = 1
|
|
e.Collected()["kept"] = "a"
|
|
return nil
|
|
})
|
|
bus.ListenPriority[*GetApiArrayEvent]("second", 0, func(_ context.Context, e *GetApiArrayEvent) error {
|
|
e.Collected()["organisation_id"] = 2
|
|
return nil
|
|
})
|
|
got, err := bus.Collect(context.Background(), &GetApiArrayEvent{User: &models.User{}})
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if got["organisation_id"] != 2 {
|
|
t.Fatalf("later listener lost: %#v", got["organisation_id"])
|
|
}
|
|
if got["kept"] != "a" {
|
|
t.Fatalf("non-colliding key dropped: %#v", got)
|
|
}
|
|
}
|
|
|
|
func TestRegisterEventFires(t *testing.T) {
|
|
bus := festival.New()
|
|
var seen *models.User
|
|
bus.Listen[*RegisterEvent]("golem15.user", func(_ context.Context, e *RegisterEvent) error {
|
|
seen = e.User
|
|
return nil
|
|
})
|
|
user := &models.User{ID: 4, Email: "evt@example.test"}
|
|
if err := bus.Fire(context.Background(), &RegisterEvent{User: user}); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if seen == nil || seen.Email != user.Email {
|
|
t.Fatalf("event user = %#v", seen)
|
|
}
|
|
}
|