Current section
Files
Jump to
Current section
Files
lib/assertions/conn/have_in_assigns.ex
defmodule ESpec.Phoenix.Assertions.Conn.HaveInAssigns do
use ESpec.Assertions.Interface
defp match(conn, list) when is_list(list) do
if Keyword.keyword?(list) do
result = Enum.all?(list, &Enum.member?(conn.assigns, &1))
else
keys = Map.keys(conn.assigns)
result = Enum.all?(list, &Enum.member?(keys, &1))
end
{result, result}
end
defp match(conn, value) do
result = Enum.member?(Map.keys(conn.assigns), value)
{result, result}
end
defp success_message(conn, value, _result, positive) do
has = if positive, do: "has", else: "has not"
"`#{inspect conn}` #{has} assigns `#{inspect value}`."
end
defp error_message(conn, value, _result, positive) do
have = if positive, do: "have", else: "not to have"
but = if positive, do: "it has not", else: "it has"
"Expected `#{inspect conn}` to #{have} assigns `#{inspect value}`, but #{but}."
end
end