From 0fd25c23035a17d3c71ccfa5301da8251897f4e4 Mon Sep 17 00:00:00 2001 From: rifat Date: Fri, 25 Jul 2025 11:56:35 +0300 Subject: [PATCH 1/3] =?UTF-8?q?=D0=BF=D0=BE=D0=BB=D1=83=D1=87=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=BF=D1=80=D0=B5=D0=BF=D0=BE=D0=B4=D0=B0=D0=B2?= =?UTF-8?q?=D0=B0=D1=82=D0=B5=D0=BB=D1=8F=20=D0=BF=D0=BE=20id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/rating/getting_lecturer_by_id.py | 41 ++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 tests/rating/getting_lecturer_by_id.py diff --git a/tests/rating/getting_lecturer_by_id.py b/tests/rating/getting_lecturer_by_id.py new file mode 100644 index 0000000..92e3a09 --- /dev/null +++ b/tests/rating/getting_lecturer_by_id.py @@ -0,0 +1,41 @@ +import requests +from dotenv import load_dotenv +import os + +load_dotenv() +URL = os.getenv("URL") + +lect_id = 7000 +def test_correct_id(): + response = requests.get(f"{URL}/{lect_id}") + lecturer = response.json() + assert response.status_code == 200 + expected_structure = { #проверка json + "id": int, + "first_name": str, + "last_name": str, + "middle_name": str, + "avatar_link": str, + "timetable_id": int, + + } + for field, expected_type in expected_structure.items(): + assert field in lecturer + assert isinstance(lecturer[field], expected_type) + + +incorrect_id = 99999 +def test_incorrect_id(): + response = requests.get(f"{URL}/{incorrect_id}") + assert response.status_code == 404 + + +invalid_format_id = "evw" +def test_invalid_format_id(): + response = requests.get(f"{URL}/{invalid_format_id}") + error_response = response.json() + assert response.status_code == 422 + expected_structure = { #проверка json + "detail": list + } + assert isinstance(error_response["detail"], list) \ No newline at end of file From 90571b96744fe85ee3b0489c92aeab3b1bb777f3 Mon Sep 17 00:00:00 2001 From: rifat Date: Wed, 6 Aug 2025 19:26:34 +0300 Subject: [PATCH 2/3] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=B4=D0=B5=D0=BB?= =?UTF-8?q?=D0=B0=D0=BB=20=D0=B0=D0=B2=D1=82=D0=BE=D1=81=D1=82=D0=B5=D1=81?= =?UTF-8?q?=D1=82=D1=8B=20=D0=BD=D0=B0=20=D0=BF=D0=BE=D0=BB=D1=83=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BF=D1=80=D0=B5=D0=BF=D0=BE=D0=B4?= =?UTF-8?q?=D0=B0=D0=B2=D0=B0=D1=82=D0=B5=D0=BB=D1=8F=20=D0=BF=D0=BE=20id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/rating/getting_lecturer_by_id.py | 36 +++++++++----------------- 1 file changed, 12 insertions(+), 24 deletions(-) diff --git a/tests/rating/getting_lecturer_by_id.py b/tests/rating/getting_lecturer_by_id.py index 92e3a09..09c15e4 100644 --- a/tests/rating/getting_lecturer_by_id.py +++ b/tests/rating/getting_lecturer_by_id.py @@ -3,39 +3,27 @@ import os load_dotenv() -URL = os.getenv("URL") +base_url = os.getenv("base_url") + -lect_id = 7000 def test_correct_id(): - response = requests.get(f"{URL}/{lect_id}") - lecturer = response.json() + response1 = requests.get(f"{base_url}/lecturer") + json = response1.json() + lect_id = json.get("lecturers")[0].get("id") + response = requests.get(f"{base_url}/lecturer/{lect_id}") assert response.status_code == 200 - expected_structure = { #проверка json - "id": int, - "first_name": str, - "last_name": str, - "middle_name": str, - "avatar_link": str, - "timetable_id": int, - - } - for field, expected_type in expected_structure.items(): - assert field in lecturer - assert isinstance(lecturer[field], expected_type) -incorrect_id = 99999 +incorrect_1 = 0 +incorrect_2 = -1 def test_incorrect_id(): - response = requests.get(f"{URL}/{incorrect_id}") + response = requests.get(f"{base_url}/lecturer/{incorrect_1}") + assert response.status_code == 404 + response = requests.get(f"{base_url}/lecturer/{incorrect_2}") assert response.status_code == 404 invalid_format_id = "evw" def test_invalid_format_id(): - response = requests.get(f"{URL}/{invalid_format_id}") - error_response = response.json() + response = requests.get(f"{base_url}/lecturer/{invalid_format_id}") assert response.status_code == 422 - expected_structure = { #проверка json - "detail": list - } - assert isinstance(error_response["detail"], list) \ No newline at end of file From 7ca777e42f721fb8c3b7f044212b1e5fc60fb406 Mon Sep 17 00:00:00 2001 From: rifat Date: Tue, 19 Aug 2025 22:40:37 +0300 Subject: [PATCH 3/3] =?UTF-8?q?=D0=9F=D0=BE=D0=BB=D1=83=D1=87=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=BF=D1=80=D0=B5=D0=BF=D0=BE=D0=B4=D0=B0=D0=B2?= =?UTF-8?q?=D0=B0=D1=82=D0=B5=D0=BB=D1=8F=20=D0=BF=D0=BE=20id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/rating/getting_lecturer_by_id.py | 29 --------------------- tests/rating/test_getting_lecturer_by_id.py | 25 ++++++++++++++++++ 2 files changed, 25 insertions(+), 29 deletions(-) delete mode 100644 tests/rating/getting_lecturer_by_id.py create mode 100644 tests/rating/test_getting_lecturer_by_id.py diff --git a/tests/rating/getting_lecturer_by_id.py b/tests/rating/getting_lecturer_by_id.py deleted file mode 100644 index 09c15e4..0000000 --- a/tests/rating/getting_lecturer_by_id.py +++ /dev/null @@ -1,29 +0,0 @@ -import requests -from dotenv import load_dotenv -import os - -load_dotenv() -base_url = os.getenv("base_url") - - -def test_correct_id(): - response1 = requests.get(f"{base_url}/lecturer") - json = response1.json() - lect_id = json.get("lecturers")[0].get("id") - response = requests.get(f"{base_url}/lecturer/{lect_id}") - assert response.status_code == 200 - - -incorrect_1 = 0 -incorrect_2 = -1 -def test_incorrect_id(): - response = requests.get(f"{base_url}/lecturer/{incorrect_1}") - assert response.status_code == 404 - response = requests.get(f"{base_url}/lecturer/{incorrect_2}") - assert response.status_code == 404 - - -invalid_format_id = "evw" -def test_invalid_format_id(): - response = requests.get(f"{base_url}/lecturer/{invalid_format_id}") - assert response.status_code == 422 diff --git a/tests/rating/test_getting_lecturer_by_id.py b/tests/rating/test_getting_lecturer_by_id.py new file mode 100644 index 0000000..2373db9 --- /dev/null +++ b/tests/rating/test_getting_lecturer_by_id.py @@ -0,0 +1,25 @@ +import pytest +import requests +from dotenv import load_dotenv +import os + +load_dotenv() +base_url = os.getenv("BASE_URL") + +def test_correct_id(): + response1 = requests.get(f"{base_url}/rating/lecturer") + json = response1.json() + lect_id = json.get("lecturers")[0].get("id") + response = requests.get(f"{base_url}/rating/lecturer/{lect_id}") + assert response.status_code == 200 + +@pytest.mark.parametrize("incorrect_id", [0, -1, -9999]) +def test_incorrect_id(incorrect_id): + response = requests.get(f"{base_url}/rating/lecturer/{incorrect_id}") + assert response.status_code == 404 + +@pytest.mark.parametrize("invalid_format_id", ["sdfb", "&&"]) +def test_invalid_format_id(invalid_format_id): + response = requests.get(f"{base_url}/rating/lecturer/{invalid_format_id}") + assert response.status_code == 422 + \ No newline at end of file