tests for user model mostly done