Conversation
tests/conftest.py
Outdated
| def token(api, registered_user): | ||
| with allure.step("Логинимся и получаем токен"): | ||
| r = api.login({"email": registered_user["email"], "password": registered_user["password"]}) | ||
| assert r.status_code == 200, f"login failed: {r.status_code} {r.text}" |
There was a problem hiding this comment.
Нужно исправить: в фикстурах не проводим тестирование, это делает все тесты где используется фикстура неатомарными
tests/conftest.py
Outdated
| def ingredient_ids(api): | ||
| with allure.step("Получаем список ингредиентов"): | ||
| r = api.get_ingredients() | ||
| assert r.status_code == 200, f"ingredients failed: {r.status_code} {r.text}" |
tests/conftest.py
Outdated
| def registered_user(api, user_data): | ||
| with allure.step("Регистрируем пользователя"): | ||
| r = api.register(user_data) | ||
| assert r.status_code == 200, f"register failed: {r.status_code} {r.text}" |
tests/conftest.py
Outdated
|
|
||
| @pytest.fixture | ||
| def user_data(): | ||
| return generate_user() |
There was a problem hiding this comment.
Нужно исправить: фикстуры не занимаются прокидыванием данных в тест и выполнением примитивной логики, они выполняют сложную логику предусловий\постусловий и вычислений.
tests/test_create_user.py
Outdated
| assert body.get("success") is True | ||
| assert "accessToken" in body | ||
| assert "refreshToken" in body | ||
| assert body["user"]["email"] == user_data["email"] |
There was a problem hiding this comment.
нужно исправить: везде где создавали пользователя после теста нужно его удалять при помощи фикстуры
tests/test_create_user.py
Outdated
| assert r.status_code == 403 | ||
| body = r.json() | ||
|
|
||
| assert body.get("success") is False No newline at end of file |
There was a problem hiding this comment.
Можно лучше: кажется хорошей идеей включить постусловие с удалением курьера в тесты с неуспешной регистрацией, на случай если там будут баги, мы всё равно оставим после тестирования чистую БД
tests/conftest.py
Outdated
| with allure.step("Регистрируем пользователя"): | ||
| r = api.register(user_data) | ||
| assert r.status_code == 200, f"register failed: {r.status_code} {r.text}" | ||
| return user_data |
There was a problem hiding this comment.
нужно исправить: везде где создавали пользователя после теста нужно его удалять при помощи фикстуры
|
|
||
| @allure.title("Можно создать уникального пользователя") | ||
| def test_create_unique_user_success(self, registered_user): | ||
| response = registered_user["response"] |
There was a problem hiding this comment.
Нужно исправить: Здесь и везде. Фикстура - это объект, который можно рассматривать, как набор условий необходимых тесту для выполнения. То есть она не должна заменять шаги теста. В этом случае тестируются шаги регистрации, поэтому нельзя использовать фикстуру с регистрацией
|
|
||
| @allure.title("Создание заказа с авторизацией") | ||
| def test_create_order_with_auth(self, api, token, ingredient_ids): | ||
| r = api.create_order( |
There was a problem hiding this comment.
Нужно исправить: Над каждым логическим методом (запрос через requests) нужно прописать декоратор allure.step



No description provided.