@admiral_husker_twitter From my experience to isolate your testing scenarios properly and to speed up testing it is important to create all preconditions programmatically where you can. Your controller could create the data by submitting a request, but that is a test on its own. If you are to couple the fact that your request is created by the web UI interaction then that means if you have an issue with creating your request, then all scenarios will fail due to the fact that they are coupled which is incorrect. What I would want a test to do is to point me towards where the problem is with concise information, if 5 of my scenarios are failing because of one interaction not working properly i.e creating the request, then i cannot quantify how big the problem is, or most probably wrongly quantify it. So to isolate the concerns, one scenario should test creation of the request. Once you've validated that bit, you don't want to re-test that bit, so create it programmatically as a precondition. I hope this makes sense :) Glad to help.