defmodule Silmataivas.UsersTest do use Silmataivas.DataCase alias Silmataivas.Users describe "users" do alias Silmataivas.Users.User import Silmataivas.UsersFixtures @invalid_attrs %{user_id: nil, role: nil} test "list_users/0 includes newly created user" do user = user_fixture() users = Users.list_users() assert Enum.any?(users, fn u -> u.id == user.id end) end test "get_user!/1 returns the user with given id" do user = user_fixture() assert Users.get_user!(user.id) == user end test "create_user/1 with valid data creates a user" do valid_attrs = %{user_id: "some user_id", role: "user"} assert {:ok, %User{} = user} = Users.create_user(valid_attrs) assert user.user_id == "some user_id" assert user.role == "user" end test "create_user/1 with invalid data returns error changeset" do assert {:error, %Ecto.Changeset{}} = Users.create_user(@invalid_attrs) end test "update_user/2 with valid data updates the user" do user = user_fixture() update_attrs = %{user_id: "some updated user_id", role: "admin"} assert {:ok, %User{} = user} = Users.update_user(user, update_attrs) assert user.user_id == "some updated user_id" assert user.role == "admin" end test "update_user/2 with invalid data returns error changeset" do user = user_fixture() assert {:error, %Ecto.Changeset{}} = Users.update_user(user, @invalid_attrs) assert user == Users.get_user!(user.id) end test "delete_user/1 deletes the user" do user = user_fixture() assert {:ok, %User{}} = Users.delete_user(user) assert_raise Ecto.NoResultsError, fn -> Users.get_user!(user.id) end end test "change_user/1 returns a user changeset" do user = user_fixture() assert %Ecto.Changeset{} = Users.change_user(user) end end end