elx-scopes/test/scopes/core_test.exs

67 lines
2.4 KiB
Elixir

defmodule Scopes.CoreTest do
use Scopes.DataCase
alias Scopes.Core
describe "messages" do
alias Scopes.Core.Message
import Scopes.CoreFixtures
@invalid_attrs %{data: nil, domain: nil, item: nil, action: nil, class: nil}
test "list_messages/0 returns all messages" do
message = message_fixture()
assert Core.list_messages() == [message]
end
test "get_message!/1 returns the message with given id" do
message = message_fixture()
assert Core.get_message!(message.id) == message
end
test "create_message/1 with valid data creates a message" do
valid_attrs = %{data: %{}, domain: "some domain", item: "some item", action: "some action", class: "some class"}
assert {:ok, %Message{} = message} = Core.create_message(valid_attrs)
assert message.data == %{}
assert message.domain == "some domain"
assert message.item == "some item"
assert message.action == "some action"
assert message.class == "some class"
end
test "create_message/1 with invalid data returns error changeset" do
assert {:error, %Ecto.Changeset{}} = Core.create_message(@invalid_attrs)
end
test "update_message/2 with valid data updates the message" do
message = message_fixture()
update_attrs = %{data: %{}, domain: "some updated domain", item: "some updated item", action: "some updated action", class: "some updated class"}
assert {:ok, %Message{} = message} = Core.update_message(message, update_attrs)
assert message.data == %{}
assert message.domain == "some updated domain"
assert message.item == "some updated item"
assert message.action == "some updated action"
assert message.class == "some updated class"
end
test "update_message/2 with invalid data returns error changeset" do
message = message_fixture()
assert {:error, %Ecto.Changeset{}} = Core.update_message(message, @invalid_attrs)
assert message == Core.get_message!(message.id)
end
test "delete_message/1 deletes the message" do
message = message_fixture()
assert {:ok, %Message{}} = Core.delete_message(message)
assert_raise Ecto.NoResultsError, fn -> Core.get_message!(message.id) end
end
test "change_message/1 returns a message changeset" do
message = message_fixture()
assert %Ecto.Changeset{} = Core.change_message(message)
end
end
end