If someone is looking for a quick, easy way to contribute something to FubuMVC that doesn't require a lot of working knowledge of the guts of FubuMVC, I have an idea for you:
(I'll be updating the Fubu wiki TODO page with this in a minute)
After sharpoverride's last post, it occurred to me that we'll probably be getting a lot of questions like "How come my routes didn't work out the way I wanted them to?"
We added diagnostics in an effort to help people figure out things, but I fear it's not going to be enough and it'll still be very easy for people (even experts) to get things jumbled up and have routes come out the wrong way.
There's already some integration tests for FubuRegistry in the Fubu code.
Proposal: What if we had a real easy way for people to write a simple unit test that expresses their desired outcome. If they have a problem (i.e. failing test), they can send us their FubuRegistry and the failing unit test and it'll cut through a lot of confusion real quick. It'll help us determine what's wrong (user error or honest bug in Fubu) quickly and resolve the issue without a lot of fuss.
For example, what if you could send us your MyCustomFubuRegistry and a test that looks like:
// How come my input model doesn't match to my expected route?
using<MyFubuRegistry>()
.RouteFor<SomeInputModel>()
.ShouldResolveTo("/some/foo")
or
// How come my route doesn't take in an input parameter?
using<MyFubuRegistry>()
.RouteFor<SomeInputModel>()
.ShouldResolveTo("/some/foo/{Id}")
or
// How come this route doesn't hit the action I expected?
using<MyFubuRegistry>()
.Route("/some/foo")
.ShouldCall<SomeController>(c => c.Foo(null))
-Chad