Skip to content

Commit

Permalink
[#27] request inspect: fix missing body, better coverage
Browse files Browse the repository at this point in the history
  • Loading branch information
flaviogranero committed May 20, 2016
1 parent 41a4d0c commit dd94f2b
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 1 deletion.
3 changes: 2 additions & 1 deletion lib/dayron/request.ex
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,8 @@ defimpl Inspect, for: Dayron.Request do

defp list_to_doc(nil, _level), do: "-"
defp list_to_doc([], _level), do: "-"
defp list_to_doc(%{}, _level), do: "-"
defp list_to_doc(value, _level) when is_binary(value), do: inspect(value)
defp list_to_doc(map = %{}, level), do: list_to_doc(Map.to_list(map), level)
defp list_to_doc(list, level) do
list
|> Enum.map(fn
Expand Down
16 changes: 16 additions & 0 deletions test/lib/dayron/request_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,29 @@ defmodule Dayron.RequestTest do
test "implements a custom inspect for pretty: true", %{request: request} do
output = Kernel.inspect(request, pretty: true)
assert output =~ ~r/GET http\:\/\/localhost\/resources/
assert output =~ ~r/Body\: age=30\n name=\"Full Name\"/
assert output =~ ~r/Params\: q\=\"qu ery\"/
end

test "implements a custom inspect for raw body", %{request: request} do
request = %{request | body: "raw text"}
output = Kernel.inspect(request, pretty: true)
assert output =~ ~r/GET http\:\/\/localhost\/resources/
assert output =~ ~r/Body\:\n \"raw text\"/
end

test "implements a custom inspect for body as list", %{request: request} do
request = %{request | body: ["item 1", "item 2"]}
output = Kernel.inspect(request, pretty: true)
assert output =~ ~r/GET http\:\/\/localhost\/resources/
assert output =~ ~r/Body\: \"item 1\"\n \"item 2\"/
end

test "implements a custom inspect for pretty: true for no options" do
request = %Request{method: :get, url: "http://api.example.com"}
output = Kernel.inspect(request, pretty: true)
assert output =~ ~r/GET http\:\/\/api\.example\.com/
assert output =~ ~r/Body\: \-/
assert output =~ ~r/Options\: \-/
end
end

0 comments on commit dd94f2b

Please sign in to comment.