Как написать API-тест создания клиента на Python

Создайте клиента, проверьте код и данные, затем прочитайте запись по возвращённому ID. Проверка только 201 не доказывает сохранение правильного объекта.

Короткий ответ

Что ответить на собеседовании

Создайте клиента, проверьте код и данные, затем прочитайте запись по возвращённому ID. Проверка только 201 не доказывает сохранение правильного объекта.

Подробный разбор

Ответ с пояснениями

Условие

Учебный контракт: POST /customers с JSON name возвращает 201 и объект с id и name; GET /customers/{id} читает его. В тесте доступен изолированный client. Какие действия и проверки нужны?

Ответ

Создайте клиента, проверьте код и данные, затем прочитайте запись по возвращённому ID. Проверка только 201 не доказывает сохранение правильного объекта.

Пример:

def test_create_customer(client):
    response = client.post('/customers', json={'name': 'Тестовый клиент'})
    assert response.status_code == 201
    body = response.json()
    assert body['id'] is not None
    assert body['name'] == 'Тестовый клиент'
    saved = client.get(f"/customers/{body['id']}")
    assert saved.status_code == 200
    assert saved.json()['name'] == body['name']

Fixture client должна работать с тестовой БД и обеспечивать очистку; production для такого теста не используется.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее