2016-09-19 3 views
0

У меня довольно простой код в контроллере phoenix. Это делает некоторые вещи и возвращает содержимое в зависимости от формата:Как я могу указать формат в Phoenix.ConnTest?

def delete(conn, _params) do 
    # some stuff here 

    if get_format(conn) == "json" do 
    conn |> put_status(200) |> json(%{}) 
    else 
    conn |> redirect(to: "/") 
    end 
end 

Он работает нормально, но у меня есть проблемы с тестированием. Я не могу проверить возврат html. Как мне это сделать? dispatch/5 не имеет никакого отношения к формату.

ответ

0

Формат определяется через accept заголовок для подключения, а не для get или что угодно. Для json & html форматов он должен быть application/json или html/text, соответственно.

Вы можете использовать этот conn в тестах:

conn = build_conn 
    |> Plug.Conn.put_req_header("accept", "text/html") 
+0

Когда один говорит «тест» читатели обычно ожидают 'assert' и/или' doctest', или любой другой _test_, а не просто задания, просто работает всегда. – mudasobwa

Смежные вопросы