defmodule Wiki.ContentTest do use Wiki.DataCase alias Wiki.Content describe "pages" do alias Wiki.Content.Page @valid_attrs %{content: "some content", title: "some title"} @update_attrs %{content: "some updated content", title: "some updated title"} @invalid_attrs %{content: nil, title: nil} def page_fixture(attrs \\ %{}) do {:ok, page} = attrs |> Enum.into(@valid_attrs) |> Content.create_page() page end test "list_pages/0 returns all pages" do page = page_fixture() assert Content.list_pages() == [page] end test "get_page!/1 returns the page with given id" do page = page_fixture() assert Content.get_page!(page.id) == page end test "create_page/1 with valid data creates a page" do assert {:ok, %Page{} = page} = Content.create_page(@valid_attrs) assert page.content == "some content" assert page.title == "some title" end test "create_page/1 with invalid data returns error changeset" do assert {:error, %Ecto.Changeset{}} = Content.create_page(@invalid_attrs) end test "update_page/2 with valid data updates the page" do page = page_fixture() assert {:ok, %Page{} = page} = Content.update_page(page, @update_attrs) assert page.content == "some updated content" assert page.title == "some updated title" end test "update_page/2 with invalid data returns error changeset" do page = page_fixture() assert {:error, %Ecto.Changeset{}} = Content.update_page(page, @invalid_attrs) assert page == Content.get_page!(page.id) end test "delete_page/1 deletes the page" do page = page_fixture() assert {:ok, %Page{}} = Content.delete_page(page) assert_raise Ecto.NoResultsError, fn -> Content.get_page!(page.id) end end test "change_page/1 returns a page changeset" do page = page_fixture() assert %Ecto.Changeset{} = Content.change_page(page) end end end