controller, model tests and Product validation