Создайте клиента, проверьте код и данные, затем прочитайте запись по возвращённому ID. Проверка только 201 не доказывает сохранение правильного объекта.
Как написать API-тест создания клиента на Python
Создайте клиента, проверьте код и данные, затем прочитайте запись по возвращённому 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 для такого теста не используется.