65 lines
2.3 KiB
Elixir
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
|