1
2  describe "<%= schema.plural %>" do
3    alias <%= inspect schema.module %>
4
5    @valid_attrs <%= inspect schema.params.create %>
6    @update_attrs <%= inspect schema.params.update %>
7    @invalid_attrs <%= inspect for {key, _} <- schema.params.create, into: %{}, do: {key, nil} %>
8
9    def <%= schema.singular %>_fixture(attrs \\ %{}) do
10      {:ok, <%= schema.singular %>} =
11        attrs
12        |> Enum.into(@valid_attrs)
13        |> <%= inspect context.alias %>.create_<%= schema.singular %>()
14
15      <%= schema.singular %>
16    end
17
18    test "list_<%= schema.plural %>/0 returns all <%= schema.plural %>" do
19      <%= schema.singular %> = <%= schema.singular %>_fixture()
20      assert <%= inspect context.alias %>.list_<%= schema.plural %>() == [<%= schema.singular %>]
21    end
22
23    test "get_<%= schema.singular %>!/1 returns the <%= schema.singular %> with given id" do
24      <%= schema.singular %> = <%= schema.singular %>_fixture()
25      assert <%= inspect context.alias %>.get_<%= schema.singular %>!(<%= schema.singular %>.id) == <%= schema.singular %>
26    end
27
28    test "create_<%= schema.singular %>/1 with valid data creates a <%= schema.singular %>" do
29      assert {:ok, %<%= inspect schema.alias %>{} = <%= schema.singular %>} = <%= inspect context.alias %>.create_<%= schema.singular %>(@valid_attrs)<%= for {field, value} <- schema.params.create do %>
30      assert <%= schema.singular %>.<%= field %> == <%= Mix.Phoenix.Schema.value(schema, field, value) %><% end %>
31    end
32
33    test "create_<%= schema.singular %>/1 with invalid data returns error changeset" do
34      assert {:error, %Ecto.Changeset{}} = <%= inspect context.alias %>.create_<%= schema.singular %>(@invalid_attrs)
35    end
36
37    test "update_<%= schema.singular %>/2 with valid data updates the <%= schema.singular %>" do
38      <%= schema.singular %> = <%= schema.singular %>_fixture()
39      assert {:ok, <%= schema.singular %>} = <%= inspect context.alias %>.update_<%= schema.singular %>(<%= schema.singular %>, @update_attrs)
40      assert %<%= inspect schema.alias %>{} = <%= schema.singular %><%= for {field, value} <- schema.params.update do %>
41      assert <%= schema.singular %>.<%= field %> == <%= Mix.Phoenix.Schema.value(schema, field, value) %><% end %>
42    end
43
44    test "update_<%= schema.singular %>/2 with invalid data returns error changeset" do
45      <%= schema.singular %> = <%= schema.singular %>_fixture()
46      assert {:error, %Ecto.Changeset{}} = <%= inspect context.alias %>.update_<%= schema.singular %>(<%= schema.singular %>, @invalid_attrs)
47      assert <%= schema.singular %> == <%= inspect context.alias %>.get_<%= schema.singular %>!(<%= schema.singular %>.id)
48    end
49
50    test "delete_<%= schema.singular %>/1 deletes the <%= schema.singular %>" do
51      <%= schema.singular %> = <%= schema.singular %>_fixture()
52      assert {:ok, %<%= inspect schema.alias %>{}} = <%= inspect context.alias %>.delete_<%= schema.singular %>(<%= schema.singular %>)
53      assert_raise Ecto.NoResultsError, fn -> <%= inspect context.alias %>.get_<%= schema.singular %>!(<%= schema.singular %>.id) end
54    end
55
56    test "change_<%= schema.singular %>/1 returns a <%= schema.singular %> changeset" do
57      <%= schema.singular %> = <%= schema.singular %>_fixture()
58      assert %Ecto.Changeset{} = <%= inspect context.alias %>.change_<%= schema.singular %>(<%= schema.singular %>)
59    end
60  end
61