summaryrefslogtreecommitdiff
path: root/test/matrix_app_service/bridge_test.exs
diff options
context:
space:
mode:
Diffstat (limited to 'test/matrix_app_service/bridge_test.exs')
-rw-r--r--test/matrix_app_service/bridge_test.exs131
1 files changed, 131 insertions, 0 deletions
diff --git a/test/matrix_app_service/bridge_test.exs b/test/matrix_app_service/bridge_test.exs
new file mode 100644
index 0000000..46acffb
--- /dev/null
+++ b/test/matrix_app_service/bridge_test.exs
@@ -0,0 +1,131 @@
+defmodule MatrixAppService.BridgeTest do
+ use MatrixAppService.DataCase
+
+ alias MatrixAppService.Bridge
+
+ describe "users" do
+ alias MatrixAppService.Bridge.User
+
+ @valid_attrs %{data: %{}, local_id: "some local_id", remote_id: "some remote_id"}
+ @update_attrs %{data: %{}, local_id: "some updated local_id", remote_id: "some updated remote_id"}
+ # @invalid_attrs %{data: nil, local_id: nil, remote_id: nil}
+
+ def user_fixture(attrs \\ %{}) do
+ {:ok, user} =
+ attrs
+ |> Enum.into(@valid_attrs)
+ |> Bridge.create_user()
+
+ user
+ end
+
+ test "list_users/0 returns all users" do
+ user = user_fixture()
+ assert Bridge.list_users() == [user]
+ end
+
+ test "get_user!/1 returns the user with given id" do
+ user = user_fixture()
+ assert Bridge.get_user!(user.id) == user
+ end
+
+ test "create_user/1 with valid data creates a user" do
+ assert {:ok, %User{} = user} = Bridge.create_user(@valid_attrs)
+ assert user.data == %{}
+ assert user.local_id == "some local_id"
+ assert user.remote_id == "some remote_id"
+ end
+
+# test "create_user/1 with invalid data returns error changeset" do
+# assert {:error, %Ecto.Changeset{}} = Bridge.create_user(@invalid_attrs)
+# end
+
+ test "update_user/2 with valid data updates the user" do
+ user = user_fixture()
+ assert {:ok, %User{} = user} = Bridge.update_user(user, @update_attrs)
+ assert user.data == %{}
+ assert user.local_id == "some updated local_id"
+ assert user.remote_id == "some updated remote_id"
+ end
+
+# test "update_user/2 with invalid data returns error changeset" do
+# user = user_fixture()
+# assert {:error, %Ecto.Changeset{}} = Bridge.update_user(user, @invalid_attrs)
+# assert user == Bridge.get_user!(user.id)
+# end
+
+ test "delete_user/1 deletes the user" do
+ user = user_fixture()
+ assert {:ok, %User{}} = Bridge.delete_user(user)
+ assert_raise Ecto.NoResultsError, fn -> Bridge.get_user!(user.id) end
+ end
+
+ test "change_user/1 returns a user changeset" do
+ user = user_fixture()
+ assert %Ecto.Changeset{} = Bridge.change_user(user)
+ end
+ end
+
+ describe "rooms" do
+ alias MatrixAppService.Bridge.Room
+
+ @valid_attrs %{data: %{}, local_id: "some local_id", remote_id: "some remote_id"}
+ @update_attrs %{data: %{}, local_id: "some updated local_id", remote_id: "some updated remote_id"}
+ # @invalid_attrs %{data: nil, local_id: nil, remote_id: nil}
+
+ def room_fixture(attrs \\ %{}) do
+ {:ok, room} =
+ attrs
+ |> Enum.into(@valid_attrs)
+ |> Bridge.create_room()
+
+ room
+ end
+
+ test "list_rooms/0 returns all rooms" do
+ room = room_fixture()
+ assert Bridge.list_rooms() == [room]
+ end
+
+ test "get_room!/1 returns the room with given id" do
+ room = room_fixture()
+ assert Bridge.get_room!(room.id) == room
+ end
+
+ test "create_room/1 with valid data creates a room" do
+ assert {:ok, %Room{} = room} = Bridge.create_room(@valid_attrs)
+ assert room.data == %{}
+ assert room.local_id == "some local_id"
+ assert room.remote_id == "some remote_id"
+ end
+
+# test "create_room/1 with invalid data returns error changeset" do
+# assert {:error, %Ecto.Changeset{}} = Bridge.create_room(@invalid_attrs)
+# end
+
+ test "update_room/2 with valid data updates the room" do
+ room = room_fixture()
+ assert {:ok, %Room{} = room} = Bridge.update_room(room, @update_attrs)
+ assert room.data == %{}
+ assert room.local_id == "some updated local_id"
+ assert room.remote_id == "some updated remote_id"
+ end
+
+# test "update_room/2 with invalid data returns error changeset" do
+# room = room_fixture()
+# assert {:error, %Ecto.Changeset{}} = Bridge.update_room(room, @invalid_attrs)
+# assert room == Bridge.get_room!(room.id)
+# end
+
+ test "delete_room/1 deletes the room" do
+ room = room_fixture()
+ assert {:ok, %Room{}} = Bridge.delete_room(room)
+ assert_raise Ecto.NoResultsError, fn -> Bridge.get_room!(room.id) end
+ end
+
+ test "change_room/1 returns a room changeset" do
+ room = room_fixture()
+ assert %Ecto.Changeset{} = Bridge.change_room(room)
+ end
+ end
+end