Current section
Files
Jump to
Current section
Files
test/exfacebook_test.exs
defmodule ExfacebookTest do
use ExUnit.Case, async: false
use ExVCR.Mock, adapter: ExVCR.Adapter.Hackney
import Exfacebook.TestConfig
alias Exfacebook.Params
setup_all do
{:ok, _} = Exfacebook.start_link(name: __MODULE__)
ExVCR.Config.cassette_library_dir("fixture/vcr_cassettes")
:ok
end
test "get_object for facebook" do
pid = __MODULE__
use_cassette "get_object#me_fields_id_name" do
params = %Params{access_token: access_token, fields: "id,name"}
{:ok, %{"id" => id, "name" => name}} = Exfacebook.get_object(pid, :me, params)
assert id == "127016687734698"
assert name == "Richard Alabgiajbgak Thurnman"
end
end
test "get_connections for authenticated user for feed" do
pid = __MODULE__
use_cassette "get_connections#majesticcasual_fields_id_name" do
params = %Params{access_token: access_token, fields: "id,name"}
{:ok, %{"data" => collection}} = Exfacebook.get_connections(pid, "majesticcasual", :posts, params)
assert Enum.count(collection) == 25
end
end
test "next/prev for authenticated user for feed" do
pid = __MODULE__
params = %Params{access_token: access_token, fields: "id,name"}
use_cassette "get_connections#majesticcasual_fields_id_name" do
{:ok, %{"data" => [%{"id" => id1} | _] = collection1}} = response1 = Exfacebook.get_connections(pid, "majesticcasual", :posts, params)
assert Enum.count(collection1) == 25
use_cassette "get_connections#next_majesticcasual_fields_id_name" do
{:ok, %{"data" => [%{"id" => id2} | _] = collection2}} = response2 = Exfacebook.next_page(pid, response1)
assert Enum.count(collection2) == 25
assert id1 != id2
use_cassette "get_connections#prev_majesticcasual_fields_id_name" do
{:ok, %{"data" => [%{"id" => id3} | _] = collection3}} = Exfacebook.prev_page(pid, response2)
assert Enum.count(collection3) == 25
assert id1 == id3
end
end
end
end
end