diff options
| author | Dawid Rycerz <dawid@rycerz.xyz> | 2025-03-23 17:11:39 +0100 |
|---|---|---|
| committer | Dawid Rycerz <dawid@rycerz.xyz> | 2025-04-05 21:16:51 +0200 |
| commit | 0ab2e5ba2b0631b28b5b1405559237b3913c878f (patch) | |
| tree | 791cea788b0a62bc483d0041fbd0c655d2ad49e8 /test/silmataivas/users_test.exs | |
feat: initialize Phoenix application for weather alerts
This commit sets up the initial Silmataivas project structure, including: Phoenix web framework configuration, database models for users and locations, weather polling service, notification system, Docker and deployment configurations, CI/CD pipeline setup
Diffstat (limited to 'test/silmataivas/users_test.exs')
| -rw-r--r-- | test/silmataivas/users_test.exs | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/test/silmataivas/users_test.exs b/test/silmataivas/users_test.exs new file mode 100644 index 0000000..5044876 --- /dev/null +++ b/test/silmataivas/users_test.exs @@ -0,0 +1,62 @@ +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 |
