Milestones PM is a relatively new app from Force.com Labs designed to help you and your team manage projects and tasks more effectively. Like most Labs apps, we distribute it as an unmanaged package. This means that you can see the source and modify it to your heart's content. (Here's one idea.)
As I was reviewing comments this morning, I came across this gem:
Peter and I have never met and I certainly never asked him to review this code. But, to all of our great benefit, review the code he did and he found a pesky little bug.
First, Peter: Thank you! I appreciate your diligence and, more than that, I appreciate you helping me make Milestones PM a better app. And I know I'm speaking for a lot of people when I say that. Fantastic.
Sure enough, Peter was correct. I had a type-o. Peter actually discovered two bugs: one was my type-o, and the other was that I wasn't testing for the logic in that particular area. If you keep up with this blog or read my occasional rants on Twitter, you might know I'm passionate about writing meaningful unit tests, so it's just as important to me to correct this second issue as it is the first.
Thanks to this comment I have:
- Corrected the bug Peter found.
- Added test code to validate the logic is correct.
- Identified two other counts which were calculating correctly but which hadn't been tested.
- Added two more tests.
- Refactored an area in the test data builder utility where there was some unnecessary duplicate code.
- Corrected a test construction issue in a long running test which I use as part of my prerelease validation but which is not part of the package.
The new release is now live on the AppExchange and I couldn't be happier. Thanks again, Peter. Milestones PM is an even better free project management app because of you.