aboutsummaryrefslogtreecommitdiff
path: root/test/zendex/user_test.exs
diff options
context:
space:
mode:
Diffstat (limited to 'test/zendex/user_test.exs')
-rw-r--r--test/zendex/user_test.exs49
1 files changed, 46 insertions, 3 deletions
diff --git a/test/zendex/user_test.exs b/test/zendex/user_test.exs
index f61ef13..5d07c73 100644
--- a/test/zendex/user_test.exs
+++ b/test/zendex/user_test.exs
@@ -1,14 +1,26 @@
defmodule Zendex.UserTest do
- use ExUnit.Case, async: true
+ use ExUnit.Case, async: false
- doctest Zendex.User
+ @base_url "http://test.zendesk.com"
setup do
- [conn: Zendex.Connection.setup("http://test.zendesk.com", "User1", "pass")]
+ [conn: Zendex.Connection.setup(@base_url, "User1", "pass")]
+ end
+
+ setup_all do
+ :meck.new(HTTPoison)
+ on_exit fn -> :meck.unload end
+ :ok
end
test "list users", context do
expected = "users"
+
+ stub = fn("#{@base_url}/api/v2/users.json", _) ->
+ %HTTPoison.Response{body: Poison.encode!(expected)}
+ end
+ :meck.expect(HTTPoison, :get!, stub)
+
actual = Zendex.User.list(context[:conn])
assert expected == actual
@@ -49,6 +61,12 @@ defmodule Zendex.UserTest do
"user_fields" => %{"customer_complaint" => nil},
"tags" => [],
"updated_at" => "2016-10-28T21:08:23Z"}}
+
+ stub = fn("#{@base_url}/api/v2/users/295204.json", _) ->
+ %HTTPoison.Response{body: Poison.encode!(expected)}
+ end
+ :meck.expect(HTTPoison, :get!, stub)
+
actual = Zendex.User.show(context[:conn], 295204)
assert expected == actual
@@ -57,6 +75,12 @@ defmodule Zendex.UserTest do
test "showing many users", context do
expected = %{"users" => [%{"id" => 6, "name" => "Kiki Segal"},
%{"id" => 67, "name" => "Sarpedon Baumgartner"}]}
+
+ stub = fn("#{@base_url}/api/v2/users/show_many.json?ids=6,67", _) ->
+ %HTTPoison.Response{body: Poison.encode!(expected)}
+ end
+ :meck.expect(HTTPoison, :get!, stub)
+
actual = Zendex.User.show_many(context[:conn], [6,67])
assert expected == actual
@@ -73,6 +97,12 @@ defmodule Zendex.UserTest do
"topic_comments" => 116,
"topics" => 5,
"votes" => 2001}}
+
+ stub = fn("#{@base_url}/api/v2/users/649267/related.json", _) ->
+ %HTTPoison.Response{body: Poison.encode!(expected)}
+ end
+ :meck.expect(HTTPoison, :get!, stub)
+
actual = Zendex.User.related_information(context[:conn], 649267)
assert expected == actual
@@ -80,6 +110,13 @@ defmodule Zendex.UserTest do
test "creating a user", context do
expected = %{"user" => %{"id" => 1234, "name" => "Roger", "email" => "roger@dodger.com"}}
+
+ stub = fn("#{@base_url}/api/v2/users.json", _, _) ->
+ %HTTPoison.Response{body: Poison.encode!(expected)}
+ end
+ :meck.expect(HTTPoison, :post!, stub)
+
+
actual = Zendex.User.create(context[:conn], %{user: %{name: "Roger", email: "roger@dodger.com"}})
assert expected == actual
@@ -120,6 +157,12 @@ defmodule Zendex.UserTest do
"user_fields" => %{"customer_complaint" => nil},
"tags" => [],
"updated_at" => "2016-10-28T21:08:23Z"}}
+
+ stub = fn("#{@base_url}/api/v2/users/49043.json", _) ->
+ %HTTPoison.Response{body: Poison.encode!(expected)}
+ end
+ :meck.expect(HTTPoison, :delete!, stub)
+
actual = Zendex.User.delete(context[:conn], 49043)
assert expected == actual