Фикстура вставила заказ в базу, а API отвечает 404: где искать причину
Фикстура готовит данные напрямую в базе:
conn = psycopg2.connect(DSN)
cur = conn.cursor()
cur.execute("INSERT INTO orders (id, user_id, total) VALUES (9001, 42, 1500)")
# commit не вызывается
В этом же соединении SELECT показывает строку. Но тест падает: GET /api/v1/orders/9001 возвращает 404.
Что происходит?
- Сервис читает данные с реплики, и нужно подождать, пока строка доедет туда репликацией
- Вставка не зафиксирована: сервис работает через другое соединение и незавершённую транзакцию не видит
- Сервис закэшировал список заказов пользователя, и требуется сброс кэша перед запросом
- Счётчик идентификаторов разошёлся с явным id, поэтому заказ сохранился под другим номером
