AIOG-T-47. User property url added

* property added
 * unit tests added
This commit is contained in:
Igor Sereda 2020-05-31 02:24:27 +03:00
parent 27b05c4843
commit 05d69c48e9
2 changed files with 19 additions and 0 deletions

View file

@ -39,3 +39,10 @@ class User(TelegramObject):
if self.last_name:
return f"{self.first_name} {self.last_name}"
return self.first_name
@property
def url(self) -> str:
"""
Get user's profile url.
"""
return f"tg://user?id={self.id}"

View file

@ -24,3 +24,15 @@ class TestUser:
def test_full_name(self, first_name: str, last_name: str, expected_full_name: str):
user = User(id=42, is_bot=False, first_name=first_name, last_name=last_name)
assert user.full_name == expected_full_name
@pytest.mark.parametrize(
"user_id, expected_url",
[
[42, "tg://user?id=42"],
[0, "tg://user?id=0"],
[-9999999999999999, "tg://user?id=-9999999999999999"],
],
)
def test_url(self, user_id: int, expected_url: str):
user = User(id=user_id, is_bot=False, first_name="User", last_name="Name")
assert user.url == expected_url