Added validation and tests for products model