dotfiles/app/test/prymn/servers_test.exs
2023-07-28 23:44:00 +03:00

63 lines
2 KiB
Elixir

defmodule Prymn.ServersTest do
use Prymn.DataCase
alias Prymn.Servers
describe "servers" do
alias Prymn.Servers.Server
import Prymn.ServersFixtures
@invalid_attrs %{name: nil}
test "list_servers/0 returns all servers" do
server = server_fixture()
assert Servers.list_servers() == [server]
end
test "get_server!/1 returns the server with given id" do
server = server_fixture()
assert Servers.get_server!(server.id) == server
end
test "create_server/1 with valid data creates a server" do
valid_attrs = %{name: "some name", public_ip: "127.0.0.1", provider: :Custom}
assert {:ok, %Server{} = server} = Servers.create_server(valid_attrs)
assert server.name == "some name"
assert server.public_ip == "127.0.0.1"
assert server.status == :unregistered
assert server.provider == :Custom
assert server.registration_token != nil
end
test "create_server/1 with invalid data returns error changeset" do
assert {:error, %Ecto.Changeset{}} = Servers.create_server(@invalid_attrs)
end
test "update_server/2 with valid data updates the server" do
server = server_fixture()
update_attrs = %{name: "some updated name"}
assert {:ok, %Server{} = server} = Servers.update_server(server, update_attrs)
assert server.name == "some updated name"
end
test "update_server/2 with invalid data returns error changeset" do
server = server_fixture()
assert {:error, %Ecto.Changeset{}} = Servers.update_server(server, @invalid_attrs)
assert server == Servers.get_server!(server.id)
end
test "delete_server/1 deletes the server" do
server = server_fixture()
assert {:ok, %Server{}} = Servers.delete_server(server)
assert_raise Ecto.NoResultsError, fn -> Servers.get_server!(server.id) end
end
test "change_server/1 returns a server changeset" do
server = server_fixture()
assert %Ecto.Changeset{} = Servers.change_server(server)
end
end
end