summaryrefslogblamecommitdiff
path: root/test/matrix_app_service/bridge_test.exs
blob: 0644f39305ebe776c7f97651287c23602144fd93 (plain) (tree)
1
2
3
4
5
6
7
8
9








                                                                                     





                                         



























                                                                     


                                                                                   








                                                                            




                                                                                         
















                                                                                     





                                         



























                                                                     


                                                                                   








                                                                            




                                                                                         












                                                                           
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