Current section
Files
Jump to
Current section
Files
test/api/list_test.exs
defmodule ExChimp.ListTest do
use ExUnit.Case, async: false
use ExVCR.Mock, adapter: ExVCR.Adapter.Hackney
setup_all do
HTTPoison.start
end
@fixtures_dir Path.join([__DIR__, "..", "fixtures"])
@lists_success_json File.read!(Path.join(@fixtures_dir, "lists.json"))
@list_members_success_json File.read!(Path.join(@fixtures_dir, "list_members.json"))
@list_add_member_success_json File.read!(Path.join(@fixtures_dir, "list_member_add.json"))
@lists_query_string "count=100&fields=lists.id%2Clists.name%2Clists.stats.member_count&offset=0"
test "get lists success" do
use_cassette :stub, [url: "https://us12.api.mailchimp.com/3.0/lists?#{@lists_query_string}",
method: "get",
status_code: ["HTTP/1.1", 200, "OK"],
body: @lists_success_json] do
{:ok, body} = ExChimp.List.all
assert body == Map.get(Poison.decode!(@lists_success_json), "lists")
end
end
test "get list members" do
use_cassette :stub, [url: "https://us12.api.mailchimp.com/3.0/lists/asdf1234/members",
method: "get",
status_code: ["HTTP/1.1", 200, "OK"],
body: @list_members_success_json] do
{:ok, body} = ExChimp.List.members("asdf1234")
assert body == Poison.decode!(@list_members_success_json)
end
end
end