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