FastApi получает ошибку 422 вместо 201 в pytest

#python #pytest #fastapi

#питон #пытест #fastapi

Вопрос:

Я немного новичок в python и FastApi. Я запускаю несколько pytests и получаю 422 ответа вместо 201.

Вот код.

 pizza_type_dict = 
    {
        'name': 'Salami Pizza',
        'price': 2.50,
        'description': 'Italian style'
    }


def create_sauce_for_pizza_type():
    response = client.post(
        "/v1/sauces",
        json={"name": "Spicy sauce", "price": 0.5, "description": "good sauce", "stock": 10},
    )
    assert response.status_code == 201
    response_body = response.json()
    pizza_type_dict['sauce_id'] = response_body['id']


def test_create_pizza_type():
    response = client.post(
        "/v1/pizza-types",
        json=pizza_type_dict
    )
    assert response.status_code == 201
    response_body = response.json()
    assert response_body['name'] == 'Salami Pizza'
    assert response_body['price'] == 2.50
    assert response_body['description'] == 'Italian style'

    pizza_type_dict['id'] = response_body['id']
 

Класс sauces имеет идентификатор (uuid) в качестве атрибута, а класс pizza_type имеет атрибут sauce_id в качестве атрибута. Дело в том, что когда я объявляю существующий
uuid в pizza_type_dict, тест работает. Является ли это проблемой python dict?

Комментарии:

1. кто вызывает create_sauce_for_pizza_type функцию? Я предложу перенести это в fixture

2. Какой из них выходит из строя, что он говорит, пожалуйста, также поделитесь ими, как выглядит ваша конечная точка и т.д.