aboutsummaryrefslogtreecommitdiff
path: root/lib/http_client/in_memory.ex
blob: 67f4d3176c448446f9266efbee0db7e95c9f646e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
defmodule Zendex.HttpClient.InMemory do
  @moduledoc """
  Allows testing of the Zendex project by mocking out calls to an actual Zendesk
  API.
  """

  def get!("http://test.zendesk.com/api/v2/tickets.json",
           [{"Authorization", _authentication}]) do
    "ticket"
  end

  def get!("http://test.zendesk.com/api/v2/search.json?query=requester%3AJimbob+type%3Aticket",
           [{"Authorization", _authentication}]) do
    ["Jimbob Ticket 1", "Jimbob Ticket 2"]
  end

  def get!("http://test.zendesk.com/api/v2/search.json?query=requester%3AReginald+type%3Aticket&sort_by=created_at&sort_order=desc",
           [{"Authorization", _authentication}]) do
    ["Reginald Ticket 1", "Reginald Ticket 2"]
  end

  def post!("http://test.zendesk.com/api/v2/tickets.json", "{\"ticket\":{}}", [{"Authorization", _authentication}, {"Content-Type", "application/json"}]) do
    "Ticket created successfully!"
  end
end