Week 5 homework -- added a validation, controller test and 2 integration tests