I'm trying to improve my TDD/OO skills and each time I try and use TDD to influence design I come up against a wall of where to start.
Here is my use case/story:
Identify a subset of clients that are due for a review. Start a review for them and send out a couple of letters.
Now my muscle memory has already opened up a query window written the query, designed a UI and then I have to write some code to glue the bits together.
I want the domain code to be the focus and I want it under test.
So what is the simplest thing to do in this case?
I guess I want my list of Clients. I already have a Client Object (CSLA-style) although this has a load of dependencies that are tough to break. I guess that I could have a ClientReviewClients object and test that I get the right number of reviews. There are a number of factors that I need to consider so it does not seem simple. And anyway how do I mock the fact that I have 10 reviews out of 20 clients?
Can anyone help me on my way?