Conversation
| @allure.title('Проверка создания курьера') | ||
| def test_create_courier(self): | ||
| response = create_courier.register_new_courier() | ||
| assert response.status_code == 201 and response.text == '{"ok":true}' |
There was a problem hiding this comment.
Нужно исправить: необходимо очищать базу и удалять пользователя после выполнения тестов. Для решения этой задачи очень хорошо подойдут фикстуры
| @pytest.mark.parametrize( | ||
| "firstName, lastName, address, metroStation, phone, rentTime, deliveryDate, comment, color", | ||
| [ | ||
| pytest.param( |
There was a problem hiding this comment.
можно лучше: очень много информации внутри теста, будет понятнее если данные для заказов будут храниться во внешнем модуле.
Также параметризация касается исключительно цвета , а не всех полей. тут нужно убрать дублирование
| import allure | ||
|
|
||
| class TestGetListOrders: | ||
| @allure.title('Проверка списка заказов') |
There was a problem hiding this comment.
тут не проверяется список заказов, а только статус код
| @pytest.mark.parametrize( | ||
| "login, password", [(data.login_registered, ""), ("", data.password_registered)] | ||
| ) | ||
| def test_autorization_without_field(self, login, password): |
This comment was marked as outdated.
This comment was marked as outdated.
Sorry, something went wrong.
| class TestCreateCourier: | ||
| @allure.title('Проверка создания курьера') | ||
| def test_create_courier(self): | ||
| response = create_courier.register_new_courier() |
There was a problem hiding this comment.
Нужно исправить: Над каждым каждым логическим методом (запрос через requests) добавить декоратор allure.step
| courier_id = login_response.json()["id"] | ||
| requests.delete(f"{const.BASE_URL}/api/v1/courier/{courier_id}") | ||
|
|
||
| return delete No newline at end of file |
There was a problem hiding this comment.
курьера нужно удалять после теста, т.е после yield когда мы возвращаемся в фикстуру
| response, login, password = create_courier.register_new_courier() | ||
| with allure.step("Проверка статус кода ответа и тела ответа"): | ||
| assert response.status_code == 201 and response.text == '{"ok":true}' | ||
| with allure.step("Удаление тестовых данных"): |
There was a problem hiding this comment.
фикстуры не вызывают в тесте, нужно доработать фикстуру добавив yield и выполняя код очищения базы после.
Иначе если что то пойдет не по плану, строки написанные в конце теста могут не выполнится. Мы используем фикстуру для того чтобы попробовать очистить базу при любом исходе теста
| } | ||
| with allure.step("Первое создание курьера"): | ||
| response1 = requests.post(const.BASE_URL + const.COURIER_HANDLE, data=payload) | ||
| if response1.status_code == 201: |
There was a problem hiding this comment.
вот тут тест может упасть, хотя этот шаг не связан со сценарием, это именно постусловие
| def test_create_order(self, color_variant): | ||
| with allure.step("Подготовка данных"): | ||
| payload = data.COMMON_ORDER_DATA | ||
| if color_variant is not None: |
There was a problem hiding this comment.
Нужно исправить: условий в тестах быть не может, тест всегда однозначен. Если это не вписывается в параметризацию, значит ее быть не должно и это просто несколько отдельных тестовых методов
There was a problem hiding this comment.
Извини что пропустила это в прошлую итерацию
No description provided.