В настоящее время документация ясна и насыщена общими глаголами HTTP
, но мы начали реализацию некоторых маршрутов HEAD
сегодня, и она не тестируется так же, как другие.
Чтобы проверить, скажем, aGET
метод:
conn = get conn, controller_path(conn, :controller_method, params)
Так что я бы предположил, что вы просто изменили бы get
на head
, но это не так.
Здесьмой маршрут:
template_journeys_count_path HEAD /v1/templates/:template_id/journeys GondorWeb.V1.JourneyController :count
и метод моего контроллера:
def count(conn, %{"template_id" => template_id}) do
count = Templates.get_journey_count(template_id)
conn
|> put_resp_header("x-total-count", count)
|> send_resp(204, "")
end
и мой тест:
conn = head conn, template_journeys_count_path(conn, :count, template.id)
assert response(conn, 204)
Но я получаю сообщение об ошибке, что ответ не получен, и resp_header
, который я добавил, а не в conn.resp_headers
Я что-то упустил?Я также попытался настроить построение соединения, используя метод Plug.ConnTest
build_conn
, передав в него метод HEAD
, но все равно не повезло.