philomena/test/philomena/topics_test.exs
2019-09-30 21:12:38 -04:00

124 lines
3.8 KiB
Elixir

defmodule Philomena.TopicsTest do
use Philomena.DataCase
alias Philomena.Topics
describe "topics" do
alias Philomena.Topics.Topic
@valid_attrs %{}
@update_attrs %{}
@invalid_attrs %{}
def topic_fixture(attrs \\ %{}) do
{:ok, topic} =
attrs
|> Enum.into(@valid_attrs)
|> Topics.create_topic()
topic
end
test "list_topics/0 returns all topics" do
topic = topic_fixture()
assert Topics.list_topics() == [topic]
end
test "get_topic!/1 returns the topic with given id" do
topic = topic_fixture()
assert Topics.get_topic!(topic.id) == topic
end
test "create_topic/1 with valid data creates a topic" do
assert {:ok, %Topic{} = topic} = Topics.create_topic(@valid_attrs)
end
test "create_topic/1 with invalid data returns error changeset" do
assert {:error, %Ecto.Changeset{}} = Topics.create_topic(@invalid_attrs)
end
test "update_topic/2 with valid data updates the topic" do
topic = topic_fixture()
assert {:ok, %Topic{} = topic} = Topics.update_topic(topic, @update_attrs)
end
test "update_topic/2 with invalid data returns error changeset" do
topic = topic_fixture()
assert {:error, %Ecto.Changeset{}} = Topics.update_topic(topic, @invalid_attrs)
assert topic == Topics.get_topic!(topic.id)
end
test "delete_topic/1 deletes the topic" do
topic = topic_fixture()
assert {:ok, %Topic{}} = Topics.delete_topic(topic)
assert_raise Ecto.NoResultsError, fn -> Topics.get_topic!(topic.id) end
end
test "change_topic/1 returns a topic changeset" do
topic = topic_fixture()
assert %Ecto.Changeset{} = Topics.change_topic(topic)
end
end
describe "topic_subscriptions" do
alias Philomena.Topics.Subscription
@valid_attrs %{}
@update_attrs %{}
@invalid_attrs %{}
def subscription_fixture(attrs \\ %{}) do
{:ok, subscription} =
attrs
|> Enum.into(@valid_attrs)
|> Topics.create_subscription()
subscription
end
test "list_topic_subscriptions/0 returns all topic_subscriptions" do
subscription = subscription_fixture()
assert Topics.list_topic_subscriptions() == [subscription]
end
test "get_subscription!/1 returns the subscription with given id" do
subscription = subscription_fixture()
assert Topics.get_subscription!(subscription.id) == subscription
end
test "create_subscription/1 with valid data creates a subscription" do
assert {:ok, %Subscription{} = subscription} = Topics.create_subscription(@valid_attrs)
end
test "create_subscription/1 with invalid data returns error changeset" do
assert {:error, %Ecto.Changeset{}} = Topics.create_subscription(@invalid_attrs)
end
test "update_subscription/2 with valid data updates the subscription" do
subscription = subscription_fixture()
assert {:ok, %Subscription{} = subscription} =
Topics.update_subscription(subscription, @update_attrs)
end
test "update_subscription/2 with invalid data returns error changeset" do
subscription = subscription_fixture()
assert {:error, %Ecto.Changeset{}} =
Topics.update_subscription(subscription, @invalid_attrs)
assert subscription == Topics.get_subscription!(subscription.id)
end
test "delete_subscription/1 deletes the subscription" do
subscription = subscription_fixture()
assert {:ok, %Subscription{}} = Topics.delete_subscription(subscription)
assert_raise Ecto.NoResultsError, fn -> Topics.get_subscription!(subscription.id) end
end
test "change_subscription/1 returns a subscription changeset" do
subscription = subscription_fixture()
assert %Ecto.Changeset{} = Topics.change_subscription(subscription)
end
end
end