action handling: smarter testing with handler generator
This commit is contained in:
parent
2908b82f29
commit
e072e493a1
1 changed files with 10 additions and 7 deletions
|
@ -64,15 +64,18 @@ func PayloadTest(t *testing.T) {
|
||||||
|
|
||||||
func ActionTest(t *testing.T) {
|
func ActionTest(t *testing.T) {
|
||||||
var result struct{ data string }
|
var result struct{ data string }
|
||||||
var hdlr lib.ActionHandler = func(act lib.Action) bool {
|
var hdlrGen = func(data string) lib.ActionHandler {
|
||||||
result.data = "done"
|
return func(act lib.Action) bool {
|
||||||
return true
|
result.data = data
|
||||||
|
return true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
cfg := config.Base("testing", nil).
|
cfg := config.Base("testing", nil).
|
||||||
AddAction("scopes|doit|task", action.Base(hdlr))
|
AddAction("start", action.Base(hdlrGen("started"))).
|
||||||
|
AddAction("scopes|doit|task", action.Base(hdlrGen("done")))
|
||||||
ctx := context.AppContext(cfg)
|
ctx := context.AppContext(cfg)
|
||||||
//msg := message.SimpleMessage("doit")
|
lib.HandleMsg(ctx, message.SimpleMessage("start"))
|
||||||
msg := message.New("", "doit", "task", "4711")
|
t.AssertEqual(result.data, "started")
|
||||||
lib.HandleMsg(ctx, msg)
|
lib.HandleMsg(ctx, message.New("", "doit", "task", "4711"))
|
||||||
t.AssertEqual(result.data, "done")
|
t.AssertEqual(result.data, "done")
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue