From f5ba767638190c5893bb2050682ec393cb5fb94f Mon Sep 17 00:00:00 2001 From: Flavio Granero Date: Thu, 19 May 2016 18:27:56 -0300 Subject: [PATCH] [#27] fixing test coverage in config and httpoison_adapter --- test/lib/dayron/adapters/httpoison_adapter_test.exs | 11 +++++++++++ test/lib/dayron/config_test.exs | 7 +++++++ 2 files changed, 18 insertions(+) diff --git a/test/lib/dayron/adapters/httpoison_adapter_test.exs b/test/lib/dayron/adapters/httpoison_adapter_test.exs index 47e8260..7ac5878 100644 --- a/test/lib/dayron/adapters/httpoison_adapter_test.exs +++ b/test/lib/dayron/adapters/httpoison_adapter_test.exs @@ -30,6 +30,17 @@ defmodule Dayron.HTTPoisonAdapterTest do assert body == %{} end + test "handles invalid json body", %{bypass: bypass, api_url: api_url} do + Bypass.expect bypass, fn conn -> + assert "/resources/id" == conn.request_path + assert "GET" == conn.method + Plug.Conn.resp(conn, 200, "{invalid_json=1}") + end + response = HTTPoisonAdapter.get("#{api_url}/resources/id") + assert {:ok, %Dayron.Response{status_code: 200, body: body}} = response + assert body == "{invalid_json=1}" + end + test "returns a decoded body for a response list", %{bypass: bypass, api_url: api_url} do Bypass.expect bypass, fn conn -> assert "/resources" == conn.request_path diff --git a/test/lib/dayron/config_test.exs b/test/lib/dayron/config_test.exs index 2c881ac..336c738 100644 --- a/test/lib/dayron/config_test.exs +++ b/test/lib/dayron/config_test.exs @@ -36,6 +36,13 @@ defmodule Dayron.ConfigTest do assert config[:headers] == [access_token: "token"] end + test "raises an exception if no config is present" do + msg = "configuration for Dayron.Repo not specified in :invalid_app environment" + assert_raise ArgumentError, msg, fn -> + Config.get(Dayron.Repo, :invalid_app) + end + end + test "raises an exception if url is missing in config" do Application.put_env(:dayron_test, Dayron.Repo, []) msg = "missing :url configuration in config :dayron_test, Dayron.Repo"