From 2a7a8eb968960fd7994c4005d946a1be0a54a44e Mon Sep 17 00:00:00 2001 From: Alexander Piskun <13381981+bigcat88@users.noreply.github.com> Date: Thu, 29 Jun 2023 19:56:26 +0300 Subject: [PATCH] increased coverage(+2) Signed-off-by: Alexander Piskun --- nc_py_api/users_statuses.py | 4 ++-- tests/users_statuses_test.py | 40 ++++++++++++++++++++---------------- 2 files changed, 24 insertions(+), 20 deletions(-) diff --git a/nc_py_api/users_statuses.py b/nc_py_api/users_statuses.py index cfed92a1..e86a54ed 100644 --- a/nc_py_api/users_statuses.py +++ b/nc_py_api/users_statuses.py @@ -64,15 +64,15 @@ def get(self, user_id: str) -> Optional[UserStatus]: raise e from None def get_predefined(self) -> list[PredefinedStatus]: - require_capabilities("user_status", self._session.capabilities) if self._session.nc_version["major"] < 27: return [] + require_capabilities("user_status", self._session.capabilities) return self._session.ocs(method="GET", path=f"{ENDPOINT}/predefined_statuses") def set_predefined(self, message_id: str, clear_at: int = 0) -> None: - require_capabilities("user_status", self._session.capabilities) if self._session.nc_version["major"] < 27: return + require_capabilities("user_status", self._session.capabilities) params: dict[str, Union[int, str]] = {"messageId": message_id} if clear_at: params["clearAt"] = clear_at diff --git a/tests/users_statuses_test.py b/tests/users_statuses_test.py index 237a9aae..484e5a3d 100644 --- a/tests/users_statuses_test.py +++ b/tests/users_statuses_test.py @@ -3,7 +3,7 @@ from time import time -from gfixture import NC_TO_TEST, NC_VERSION +from gfixture import NC_TO_TEST @pytest.mark.parametrize("nc", NC_TO_TEST) @@ -36,17 +36,19 @@ def test_get_status(nc, message): assert not r1["messageIsPredefined"] -@pytest.mark.skipif(NC_VERSION.get("major", 0) < 27, reason="NC27 required.") @pytest.mark.parametrize("nc", NC_TO_TEST) def test_get_predefined(nc): r = nc.users_statuses.get_predefined() - assert isinstance(r, list) - assert r - for i in r: - assert isinstance(i["id"], str) - assert isinstance(i["message"], str) - assert isinstance(i["icon"], str) - assert isinstance(i["clearAt"], dict) or i["clearAt"] is None + if nc.srv_version["major"] < 27: + assert r == [] + else: + assert isinstance(r, list) + assert r + for i in r: + assert isinstance(i["id"], str) + assert isinstance(i["message"], str) + assert isinstance(i["icon"], str) + assert isinstance(i["clearAt"], dict) or i["clearAt"] is None @pytest.mark.parametrize("nc", NC_TO_TEST) @@ -89,15 +91,17 @@ def test_set_status_type(nc, value): assert r["statusIsUserDefined"] -@pytest.mark.skipif(NC_VERSION.get("major", 0) < 27, reason="NC27 required.") @pytest.mark.parametrize("nc", NC_TO_TEST) @pytest.mark.parametrize("clear_at", (None, int(time()) + 360)) def test_set_predefined(nc, clear_at): - predefined_statuses = nc.users_statuses.get_predefined() - for i in predefined_statuses: - nc.users_statuses.set_predefined(i["id"], clear_at) - r = nc.users_statuses.get_current() - assert r["message"] == i["message"] - assert r["messageId"] == i["id"] - assert r["messageIsPredefined"] - assert r["clearAt"] == clear_at + if nc.srv_version["major"] < 27: + nc.users_statuses.set_predefined("meeting") + else: + predefined_statuses = nc.users_statuses.get_predefined() + for i in predefined_statuses: + nc.users_statuses.set_predefined(i["id"], clear_at) + r = nc.users_statuses.get_current() + assert r["message"] == i["message"] + assert r["messageId"] == i["id"] + assert r["messageIsPredefined"] + assert r["clearAt"] == clear_at