Completed user model, adding secure password with corresponding tests