Skip to content

Darya-Q-A/Sprint_7

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sprint_7

Тестирование API сайта https://qa-scooter.praktikum-services.ru/

Документация находится по ссылке qa-scooter.praktikum-services.ru/docs/

В данном проекте реализованы автоматизированные тесты с использованием фреймворка pytest.


Структура проекта

Тесты в директории tests

Тестируются ручки. Проверяется, что они корректно работают и выдают нужные ошибки.

test_add_courier.py Ручка создание курьера - POST /api/v1/courier Проверяется:

  • курьера можно создать;
  • нельзя создать двух одинаковых курьеров;
  • чтобы создать курьера, нужно передать в ручку все обязательные поля;
  • запрос возвращает правильный код ответа;
  • успешный запрос возвращает {"ok":true};
  • если одного из полей нет, запрос возвращает ошибку;
  • если создать пользователя с логином, который уже есть, возвращается ошибка.

test_login_courier.py Ручка логин курьера - POST /api/v1/courier/login Проверяется:

  • курьер может авторизоваться;
  • для авторизации нужно передать все обязательные поля;
  • система вернёт ошибку, если неправильно указать логин или пароль;
  • если какого-то поля нет, запрос возвращает ошибку;
  • если авторизоваться под несуществующим пользователем, запрос возвращает ошибку;
  • успешный запрос возвращает id.

test_add_order.py Ручка создание заказа - POST /api/v1/orders Проверяется, что:

  • можно указать один из цветов — BLACK или GREY;
  • можно указать оба цвета;
  • можно совсем не указывать цвет;
  • тело ответа содержит track.
  • Чтобы протестировать создание заказа, нужно использовать параметризацию.

test_list_order.py Ручка Список заказов - GET /api/v1/orders Проверяется, что:

  • в тело ответа возвращается список заказов.

Методы в директории api_methods

add_courier_methods.py метод на ручку создания курьера

login_courier_methods.py метод на ручку авторизации курьера

delete_courier_methods.py метод на ручку удаления курьера

add_order_methods.py метод на ручку создания заказа

list_order_methods.py метод на ручку получения списка заказов

cancel_order_methods.py метод на ручку отмены заказа

Описание остальных файлов

conftest.py Содержит фикстуры для создания курьера, получения его id и удаления его из системы

curl.py
Основные URL API

helper.py
Скрипт для генерации случайных данных для создания курьера (class GenerateRandom) и для создания заказа (class OrderDataGenerator)


Как запустить тесты

pytest -v

Как установить все зависимости

pip install -r requirements.txt

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages