67 lines
2.1 KiB
Elixir
67 lines
2.1 KiB
Elixir
defmodule Entendu.LinksTest do
|
|
use Entendu.DataCase
|
|
|
|
alias Entendu.Links
|
|
|
|
describe "links" do
|
|
alias Entendu.Links.Link
|
|
|
|
@valid_attrs %{burn_after_reading: true, expires: "2010-04-17T14:00:00Z"}
|
|
@update_attrs %{burn_after_reading: false, expires: "2011-05-18T15:01:01Z"}
|
|
@invalid_attrs %{burn_after_reading: nil, expires: nil}
|
|
|
|
def link_fixture(attrs \\ %{}) do
|
|
{:ok, link} =
|
|
attrs
|
|
|> Enum.into(@valid_attrs)
|
|
|> Links.create_link()
|
|
|
|
link
|
|
end
|
|
|
|
test "list_links/0 returns all links" do
|
|
link = link_fixture()
|
|
assert Links.list_links() == [link]
|
|
end
|
|
|
|
test "get_link!/1 returns the link with given id" do
|
|
link = link_fixture()
|
|
assert Links.get_link!(link.id) == link
|
|
end
|
|
|
|
test "create_link/1 with valid data creates a link" do
|
|
assert {:ok, %Link{} = link} = Links.create_link(@valid_attrs)
|
|
assert link.burn_after_reading == true
|
|
assert link.expires == DateTime.from_naive!(~N[2010-04-17T14:00:00Z], "Etc/UTC")
|
|
end
|
|
|
|
test "create_link/1 with invalid data returns error changeset" do
|
|
assert {:error, %Ecto.Changeset{}} = Links.create_link(@invalid_attrs)
|
|
end
|
|
|
|
test "update_link/2 with valid data updates the link" do
|
|
link = link_fixture()
|
|
assert {:ok, %Link{} = link} = Links.update_link(link, @update_attrs)
|
|
assert link.burn_after_reading == false
|
|
assert link.expires == DateTime.from_naive!(~N[2011-05-18T15:01:01Z], "Etc/UTC")
|
|
end
|
|
|
|
test "update_link/2 with invalid data returns error changeset" do
|
|
link = link_fixture()
|
|
assert {:error, %Ecto.Changeset{}} = Links.update_link(link, @invalid_attrs)
|
|
assert link == Links.get_link!(link.id)
|
|
end
|
|
|
|
test "delete_link/1 deletes the link" do
|
|
link = link_fixture()
|
|
assert {:ok, %Link{}} = Links.delete_link(link)
|
|
assert_raise Ecto.NoResultsError, fn -> Links.get_link!(link.id) end
|
|
end
|
|
|
|
test "change_link/1 returns a link changeset" do
|
|
link = link_fixture()
|
|
assert %Ecto.Changeset{} = Links.change_link(link)
|
|
end
|
|
end
|
|
end
|