added some validation rules to product model
updated tests