From 27b05c48432f79a1a0c5d825504fdc8f6beb1225 Mon Sep 17 00:00:00 2001 From: Igor Sereda Date: Sun, 31 May 2020 01:52:12 +0300 Subject: [PATCH] AIOG-T-44. User property full_name added * property docstring added * unit test parameters added --- aiogram/api/types/user.py | 3 +++ tests/test_api/test_types/test_user.py | 20 +++++++++++++------- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/aiogram/api/types/user.py b/aiogram/api/types/user.py index e3a9eee1..cfbf2628 100644 --- a/aiogram/api/types/user.py +++ b/aiogram/api/types/user.py @@ -33,6 +33,9 @@ class User(TelegramObject): @property def full_name(self) -> str: + """ + Get full name of user. + """ if self.last_name: return f"{self.first_name} {self.last_name}" return self.first_name diff --git a/tests/test_api/test_types/test_user.py b/tests/test_api/test_types/test_user.py index ed09b97c..064113ca 100644 --- a/tests/test_api/test_types/test_user.py +++ b/tests/test_api/test_types/test_user.py @@ -5,16 +5,22 @@ from aiogram.api.types import User class TestUser: @pytest.mark.parametrize( - "first,last,result", + "first_name, last_name, expected_full_name", [ ["User", None, "User"], - ["", None, ""], - [" ", None, " "], - ["User", "Name", "User Name"], + ["User", "", "User"], ["User", " ", "User "], + ["User", "Name", "User Name"], + [" User", "Name", " User Name"], + ["User ", "Name", "User Name"], + ["", None, ""], + ["", "", ""], + ["", " ", " "], + [" ", None, " "], + [" ", "", " "], [" ", " ", " "], ], ) - def test_full_name(self, first: str, last: str, result: bool): - user = User(id=42, is_bot=False, first_name=first, last_name=last) - assert user.full_name == result + 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