Тестовое задание от SkyPro.
Шаг 1. Создайте API эндпоинты
- GET /resume
- PATCH /resume (Права только у пользователя-владельца)
Схема данных:
- status: ...
- grade: ...
- specialty: ...
- salary: ...
- education: ...
- experience: ...
- portfolio: ...
- title: ...
- phone: ...
- email: ….
Шаг 2. Напишите тесты на эти два эндпоинта с помощью APIClient.
Авторизация пользователя происходит по средствам BasicAuth
.
Swagger доступен по адресу http://127.0.0.1:8000/swagger после запуска проекта.
cd skypro_task
python -m pip install -r reqirments.txt
cd src
python manage.py migrate
python manage.py loaddata fixtures/users.json
После исполнения скрипта будут созданы следующие учетный записи (логин:пароль):
- user_1:user_1
- user_2:user_2
Для первого пользователя произойдет инициализация резюме, для второго резюме будет первородно пустым (по умолчанию).
python manage.py runserver 127.0.0.1:8000
python manage.py test
curl --location --request GET 'http://127.0.0.1:8000/resume/' \
--header 'Authorization: Basic dXNlcl8xOnVzZXJfMQ==' \
--header 'Cookie: csrftoken=IIvYAdpmDJKcIl5AC6vMo12za6rU7jLc' \
--data-raw ''
curl --location --request PATCH 'http://127.0.0.1:8000/resume/' \
--header 'Authorization: Basic dXNlcl8xOnVzZXJfMQ==' \
--header 'Content-Type: application/json' \
--header 'Cookie: csrftoken=IIvYAdpmDJKcIl5AC6vMo12za6rU7jLc' \
--data-raw '{
"status": "active",
"grade": "middle",
"specialty": "backend",
"salary": 200002,
"education": "Harvard",
"experience": "Apple, Google, Amazon",
"portfolio": "https://example.com/resume",
"title": "Backend Developer 2023",
"phone": "+71337137713",
"email": "contact@mail.com"
}'