ex-scopes-phxdev/test/scopes/storage_test.exs

65 lines
2.3 KiB
Elixir

defmodule Scopes.StorageTest do
use Scopes.DataCase
alias Scopes.Storage
describe "concepts" do
alias Scopes.Storage.Concept
import Scopes.StorageFixtures
@invalid_attrs %{data: nil, domain: nil, item: nil, class: nil}
test "list_concepts/0 returns all concepts" do
concept = concept_fixture()
assert Storage.list_concepts() == [concept]
end
test "get_concept!/1 returns the concept with given id" do
concept = concept_fixture()
assert Storage.get_concept!(concept.id) == concept
end
test "create_concept/1 with valid data creates a concept" do
valid_attrs = %{data: %{}, domain: "some domain", item: "some item", class: "some class"}
assert {:ok, %Concept{} = concept} = Storage.create_concept(valid_attrs)
assert concept.data == %{}
assert concept.domain == "some domain"
assert concept.item == "some item"
assert concept.class == "some class"
end
test "create_concept/1 with invalid data returns error changeset" do
assert {:error, %Ecto.Changeset{}} = Storage.create_concept(@invalid_attrs)
end
test "update_concept/2 with valid data updates the concept" do
concept = concept_fixture()
update_attrs = %{data: %{}, domain: "some updated domain", item: "some updated item", class: "some updated class"}
assert {:ok, %Concept{} = concept} = Storage.update_concept(concept, update_attrs)
assert concept.data == %{}
assert concept.domain == "some updated domain"
assert concept.item == "some updated item"
assert concept.class == "some updated class"
end
test "update_concept/2 with invalid data returns error changeset" do
concept = concept_fixture()
assert {:error, %Ecto.Changeset{}} = Storage.update_concept(concept, @invalid_attrs)
assert concept == Storage.get_concept!(concept.id)
end
test "delete_concept/1 deletes the concept" do
concept = concept_fixture()
assert {:ok, %Concept{}} = Storage.delete_concept(concept)
assert_raise Ecto.NoResultsError, fn -> Storage.get_concept!(concept.id) end
end
test "change_concept/1 returns a concept changeset" do
concept = concept_fixture()
assert %Ecto.Changeset{} = Storage.change_concept(concept)
end
end
end