Enhancement - user model tests improvements, re-factoring and adding more unit test coverage

Enhancement - user model tests improvements, re-factoring and adding more unit test coverage