From 9c4cb9ee6f1499390d6433c760934b9ecf3b2f23 Mon Sep 17 00:00:00 2001 From: Victor Wang Date: Fri, 5 Oct 2018 23:57:20 -0700 Subject: [PATCH] Add test for User class and docstrings. --- model/user.py | 50 +++++++++++++++-------- tests/model/user_test.py | 87 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 121 insertions(+), 16 deletions(-) create mode 100644 tests/model/user_test.py diff --git a/model/user.py b/model/user.py index f470a836..96d728a1 100644 --- a/model/user.py +++ b/model/user.py @@ -1,8 +1,10 @@ """Data model to represent an individual user.""" -from permissions import Permissions +from model.permissions import Permissions class User: + """Represent a user with related fields and methods.""" + __slack_id = "" __name = "" __email = "" @@ -14,49 +16,65 @@ class User: __permissions_level = Permissions.member def __init__(self, slack_id): + """Initialize the user with a given Slack ID.""" self.__slack_id = slack_id def get_slack_id(self): + """Return this user's Slack ID.""" return self.__slack_id - def set_email(self, email): - self.__email = email - def get_email(self): + """Return this user's email.""" return self.__email - def set_github_username(self, github_username): - self.__github_username = github_username + def set_email(self, email): + """Set this user's email to the given argument.""" + self.__email = email def get_github_username(self): + """Return this user's Github username.""" return self.__github_username - def set_major(self, major): - self.__major = major + def set_github_username(self, github_username): + """Set this user's Github username to the given argument.""" + self.__github_username = github_username def get_major(self): + """Return this user's major.""" return self.__major - def set_position(self, position): - self.__position = position + def set_major(self, major): + """Set this user's major to the given argument.""" + self.__major = major def get_position(self): + """Return this user's position.""" return self.__position - def set_biography(self, biography): - self.__biography = biography + def set_position(self, position): + """Set this user's position to the given argument.""" + self.__position = position def get_biography(self): + """Return this user's biography.""" return self.__biography - def set_image_url(self, image_url): - self.__image_url = image_url + def set_biography(self, biography): + """Set this user's biography to the given argument.""" + self.__biography = biography def get_image_url(self): + """Return this user's image URL.""" return self.__image_url - def set_permissions_level(self, permissions_level): - self.__permissions_level = permissions_level + def set_image_url(self, image_url): + """Set this user's image URL to the given argument.""" + self.__image_url = image_url def get_permissions_level(self): + """Return this user's permissions level.""" return self.__permissions_level + + def set_permissions_level(self, permissions_level): + """Set this user's permissions level to the given argument.""" + self.__permissions_level = permissions_level diff --git a/tests/model/user_test.py b/tests/model/user_test.py new file mode 100644 index 00000000..166c0cba --- /dev/null +++ b/tests/model/user_test.py @@ -0,0 +1,87 @@ +"""Test the data model for a user.""" +from model.permissions import Permissions +from model.user import User + + +def test_get_slack_id(): + """Test the User class method get_slack_id().""" + user = User("U0G9QF9C6") + assert user.get_slack_id() == "U0G9QF9C6" + + +def test_get_email(): + """Test the User class method get_email().""" + user = User("U0G9QF9C6") + assert user.get_email() == "" + + +def test_set_email(): + """Test the User class method set_email().""" + user = User("U0G9QF9C6") + user.set_email("email@example.com") + assert user.get_email() == "email@example.com" + + +def test_get_github_username(): + """Test the User class method get_github_username().""" + user = User("U0G9QF9C6") + assert user.get_github_username() == "" + + +def test_set_github_username(): + """Test the User class method set_github_username().""" + user = User("U0G9QF9C6") + user.set_github_username("username") + assert user.get_github_username() == "username" + + +def test_get_major(): + """Test the User class method get_major().""" + user = User("U0G9QF9C6") + assert user.get_major() == "" + + +def test_set_major(): + """Test the User class method set_major().""" + user = User("U0G9QF9C6") + user.set_major("Computer Science") + assert user.get_major() == "Computer Science" + + +def test_get_position(): + """Test the User class method get_position().""" + user = User("U0G9QF9C6") + assert user.get_position() == "" + + +def test_set_position(): + """Test the User class method set_position().""" + user = User("U0G9QF9C6") + user.set_position("Developer") + assert user.get_position() == "Developer" + + +def test_get_image_url(): + """Test the User class method get_image_url().""" + user = User("U0G9QF9C6") + assert user.get_image_url() == "" + + +def test_set_image_url(): + """Test the User class method set_image_url().""" + user = User("U0G9QF9C6") + user.set_image_url("https://example.com/image.jpg") + assert user.get_image_url() == "https://example.com/image.jpg" + + +def test_get_permissions_level(): + """Test the User class method get_permissions_level().""" + user = User("U0G9QF9C6") + assert user.get_permissions_level() == Permissions.member + + +def test_set_permissions_level(): + """Test the User class method set_permissions_level().""" + user = User("U0G9QF9C6") + user.set_permissions_level(Permissions.admin) + assert user.get_permissions_level() == Permissions.admin