Add test cases for UserDao, and begin to refactor Product