set up validations and tests on product model