added validations for products and created functional tests