mirror of
https://github.com/philomena-dev/philomena.git
synced 2025-02-22 21:33:08 +01:00
124 lines
3.8 KiB
Elixir
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
|