diff --git a/test/decentralised_book_index/metadata/publisher_test.exs b/test/decentralised_book_index/metadata/publisher_test.exs new file mode 100644 index 0000000..fabab04 --- /dev/null +++ b/test/decentralised_book_index/metadata/publisher_test.exs @@ -0,0 +1,30 @@ +defmodule DecentralisedBookIndex.Metadata.PublisherTest do + use DecentralisedBookIndex.DataCase, async: true + + alias DecentralisedBookIndex.Metadata + + alias DecentralisedBookIndex.TestEndpoints + @test_server_endpoint TestEndpoints.test_api_endpoint() + + setup do + user = generate(user(role: :moderator)) + %{user: user} + end + + describe "create a publisher" do + test "create a new publisher", %{user: user} do + assert {:ok, publisher} = Metadata.create_publisher("Publisher", actor: user) + assert publisher.name == "Publisher" + end + end + + describe "publisher and DBIServer relationship" do + test "assign a DBIServer", %{user: user} do + server = generate(dbi_server(url: @test_server_endpoint)) + + assert {:ok, publisher} = Metadata.create_publisher("Publisher", actor: user) + assert {:ok, publisher} = Metadata.assign_publisher_dbi_server(publisher, server.id, actor: user) + assert publisher.dbi_server_id == server.id + end + end +end