Compare commits
5
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
44841a53e8 | ||
|
|
a25a4e24da | ||
|
|
493aca0e5b | ||
|
|
8a3b522049 | ||
|
|
89c871110c |
@@ -56,7 +56,7 @@ defmodule DecentralisedBookIndex.Metadata.AuthorTest do
|
||||
test "new author has no alternatives names", %{user: user} do
|
||||
{:ok, author} = Metadata.create_author("Author", "An description", nil, nil, actor: user)
|
||||
assert {:ok, alternatives_names} = Metadata.get_author_alternative_names(author)
|
||||
assert alternatives_names = []
|
||||
assert ^alternatives_names = []
|
||||
end
|
||||
|
||||
test "author has related author so they has one alternative name", %{user: user} do
|
||||
@@ -73,7 +73,7 @@ defmodule DecentralisedBookIndex.Metadata.AuthorTest do
|
||||
)
|
||||
|
||||
assert {:ok, alternatives_names} = Metadata.get_author_alternative_names(author)
|
||||
assert alternatives_names = [related_author]
|
||||
assert get_ids(alternatives_names) == [related_author.id]
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -118,7 +118,8 @@ defmodule DecentralisedBookIndex.Metadata.BookTest do
|
||||
bids,
|
||||
author_roles,
|
||||
publisher.id,
|
||||
nil
|
||||
nil,
|
||||
actor: user
|
||||
)
|
||||
end
|
||||
end
|
||||
@@ -146,7 +147,7 @@ defmodule DecentralisedBookIndex.Metadata.BookTest do
|
||||
)
|
||||
|
||||
assert {:ok, alternatives_names} = Metadata.get_book_alternative_editions(book)
|
||||
assert alternatives_names = []
|
||||
assert ^alternatives_names = []
|
||||
end
|
||||
|
||||
test "book has related book so they has one alternative name", %{user: user} do
|
||||
@@ -187,7 +188,7 @@ defmodule DecentralisedBookIndex.Metadata.BookTest do
|
||||
)
|
||||
|
||||
assert {:ok, alternatives_names} = Metadata.get_book_alternative_editions(book)
|
||||
assert alternatives_names = [related_book]
|
||||
assert get_ids(alternatives_names) == [related_book.id]
|
||||
end
|
||||
end
|
||||
|
||||
@@ -201,7 +202,7 @@ defmodule DecentralisedBookIndex.Metadata.BookTest do
|
||||
%{order: 1, author_id: author.id, role: ""}
|
||||
]
|
||||
|
||||
{:ok, book} =
|
||||
{:ok, _book} =
|
||||
Metadata.create_book(
|
||||
"Book",
|
||||
"An description",
|
||||
@@ -217,7 +218,7 @@ defmodule DecentralisedBookIndex.Metadata.BookTest do
|
||||
actor: user
|
||||
)
|
||||
|
||||
assert {:ok, books} = Metadata.get_author_books(author)
|
||||
assert {:ok, _books} = Metadata.get_author_books(author)
|
||||
end
|
||||
|
||||
test "get the list contains aliases' books", %{user: user} do
|
||||
@@ -256,7 +257,7 @@ defmodule DecentralisedBookIndex.Metadata.BookTest do
|
||||
end
|
||||
|
||||
describe "get a book by book id" do
|
||||
test "get by bid", %{user: user} do
|
||||
test "get by bid" do
|
||||
expected_book = generate(book())
|
||||
|
||||
[%Metadata.BookId{type: type, bid: bid} | _] = expected_book.bids
|
||||
|
||||
@@ -12,13 +12,8 @@ defmodule DecentralisedBookIndex.Metadata.Forms.AuthorFormTest do
|
||||
test "user can't submit" do
|
||||
user = generate(user())
|
||||
|
||||
valid_params = %{
|
||||
"name" => "Oleh",
|
||||
"description" => "A cool author"
|
||||
}
|
||||
|
||||
assert_raise Ash.Error.Forbidden, fn ->
|
||||
form =
|
||||
_form =
|
||||
AshPhoenix.Form.for_create(Metadata.Author, :create,
|
||||
as: "author",
|
||||
actor: user
|
||||
@@ -28,12 +23,7 @@ defmodule DecentralisedBookIndex.Metadata.Forms.AuthorFormTest do
|
||||
end
|
||||
|
||||
test "moderator can submit", %{user: user} do
|
||||
valid_params = %{
|
||||
"name" => "Oleh",
|
||||
"description" => "A cool author"
|
||||
}
|
||||
|
||||
assert form =
|
||||
assert _form =
|
||||
AshPhoenix.Form.for_create(Metadata.Author, :create,
|
||||
as: "author",
|
||||
actor: user
|
||||
@@ -55,7 +45,7 @@ defmodule DecentralisedBookIndex.Metadata.Forms.AuthorFormTest do
|
||||
actor: user
|
||||
)
|
||||
|
||||
assert {:ok, author} = AshPhoenix.Form.submit(form, params: valid_params)
|
||||
assert {:ok, _author} = AshPhoenix.Form.submit(form, params: valid_params)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -74,7 +64,7 @@ defmodule DecentralisedBookIndex.Metadata.Forms.AuthorFormTest do
|
||||
actor: user
|
||||
)
|
||||
|
||||
assert {:ok, author} = AshPhoenix.Form.submit(form, params: valid_params)
|
||||
assert {:ok, _author} = AshPhoenix.Form.submit(form, params: valid_params)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -4,7 +4,6 @@ defmodule DecentralisedBookIndex.Metadata.Forms.BookFormTest do
|
||||
import ExUnitProperties
|
||||
|
||||
alias DecentralisedBookIndex.Metadata
|
||||
alias DecentralisedBookIndex.Metadata.Book
|
||||
|
||||
setup do
|
||||
user = generate(user(role: :moderator))
|
||||
@@ -14,22 +13,9 @@ defmodule DecentralisedBookIndex.Metadata.Forms.BookFormTest do
|
||||
describe "form submiting" do
|
||||
test "user can't submit" do
|
||||
user = generate(user())
|
||||
bids = bids()
|
||||
author_roles = author_roles()
|
||||
|
||||
valid_params = %{
|
||||
"title" => "Book",
|
||||
"description" => "A cool author",
|
||||
"format" => "Paper",
|
||||
"language" => "English",
|
||||
"page_count" => 600,
|
||||
"published" => ~D[2025-03-06],
|
||||
"author_roles" => author_roles,
|
||||
"bids" => bids
|
||||
}
|
||||
|
||||
assert_raise Ash.Error.Forbidden, fn ->
|
||||
form =
|
||||
_form =
|
||||
AshPhoenix.Form.for_create(Metadata.Book, :create,
|
||||
as: "book",
|
||||
actor: user
|
||||
@@ -39,21 +25,7 @@ defmodule DecentralisedBookIndex.Metadata.Forms.BookFormTest do
|
||||
end
|
||||
|
||||
test "moderator can submit", %{user: user} do
|
||||
bids = bids(actor: user)
|
||||
author_roles = author_roles(actor: user)
|
||||
|
||||
valid_params = %{
|
||||
"title" => "Book",
|
||||
"description" => "A cool author",
|
||||
"format" => "Paper",
|
||||
"language" => "English",
|
||||
"page_count" => 600,
|
||||
"published" => ~D[2025-03-06],
|
||||
"author_roles" => author_roles,
|
||||
"bids" => bids
|
||||
}
|
||||
|
||||
assert form =
|
||||
assert _form =
|
||||
AshPhoenix.Form.for_create(Metadata.Book, :create,
|
||||
as: "book",
|
||||
actor: user
|
||||
@@ -86,7 +58,7 @@ defmodule DecentralisedBookIndex.Metadata.Forms.BookFormTest do
|
||||
actor: user
|
||||
)
|
||||
|
||||
assert {:ok, user} = AshPhoenix.Form.submit(form, params: valid_params)
|
||||
assert {:ok, _book} = AshPhoenix.Form.submit(form, params: valid_params)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -106,7 +78,7 @@ defmodule DecentralisedBookIndex.Metadata.Forms.BookFormTest do
|
||||
actor: user
|
||||
)
|
||||
|
||||
assert {:ok, user} = AshPhoenix.Form.submit(form, params: valid_params)
|
||||
assert {:ok, _book} = AshPhoenix.Form.submit(form, params: valid_params)
|
||||
end
|
||||
|
||||
test "update bids and authors", %{user: user} do
|
||||
@@ -125,7 +97,7 @@ defmodule DecentralisedBookIndex.Metadata.Forms.BookFormTest do
|
||||
actor: user
|
||||
)
|
||||
|
||||
assert {:ok, user} = AshPhoenix.Form.submit(form, params: valid_params)
|
||||
assert {:ok, _book} = AshPhoenix.Form.submit(form, params: valid_params)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -12,12 +12,8 @@ defmodule DecentralisedBookIndex.Metadata.Forms.PublisherFormTest do
|
||||
test "user can't submit" do
|
||||
user = generate(user())
|
||||
|
||||
valid_params = %{
|
||||
"name" => "Publisher"
|
||||
}
|
||||
|
||||
assert_raise Ash.Error.Forbidden, fn ->
|
||||
form =
|
||||
_form =
|
||||
AshPhoenix.Form.for_create(Metadata.Publisher, :create,
|
||||
as: "publisher",
|
||||
actor: user
|
||||
@@ -27,11 +23,7 @@ defmodule DecentralisedBookIndex.Metadata.Forms.PublisherFormTest do
|
||||
end
|
||||
|
||||
test "moderator can submit", %{user: user} do
|
||||
valid_params = %{
|
||||
"name" => "Publisher"
|
||||
}
|
||||
|
||||
assert form =
|
||||
assert _form =
|
||||
AshPhoenix.Form.for_create(Metadata.Publisher, :create,
|
||||
as: "publisher",
|
||||
actor: user
|
||||
|
||||
@@ -26,17 +26,13 @@ defmodule DecentralisedBookIndex.Sync.DataTransformers.AuthorSyncTest do
|
||||
updated_at: "2025-03-21T09:20:48.791539Z"
|
||||
}
|
||||
|
||||
{:ok, inserted_at, 0} = DateTime.from_iso8601(author[:inserted_at])
|
||||
{:ok, updated_at, 0} = DateTime.from_iso8601(author[:updated_at])
|
||||
|
||||
assert :ok = AuthorSync.create_update(author, server.id)
|
||||
assert {:ok, saved_author} = Metadata.get_author_by_id(author.id)
|
||||
|
||||
author =
|
||||
author
|
||||
|> Map.replace(:inserted_at, inserted_at)
|
||||
|> Map.replace(:updated_at, updated_at)
|
||||
|> Map.delete(:author_alias_registry_id)
|
||||
|> datetime_from_iso8601_for_map()
|
||||
|
||||
assert get_submap(saved_author, author) == author
|
||||
assert nil != saved_author.author_alias_registry_id
|
||||
@@ -56,16 +52,12 @@ defmodule DecentralisedBookIndex.Sync.DataTransformers.AuthorSyncTest do
|
||||
updated_at: "2025-03-21T09:20:48.791539Z"
|
||||
}
|
||||
|
||||
{:ok, inserted_at, 0} = DateTime.from_iso8601(author[:inserted_at])
|
||||
{:ok, updated_at, 0} = DateTime.from_iso8601(author[:updated_at])
|
||||
|
||||
assert :ok = AuthorSync.create_update(author, server.id)
|
||||
assert {:ok, saved_author} = Metadata.get_author_by_id(author.id)
|
||||
|
||||
author =
|
||||
author
|
||||
|> Map.replace(:inserted_at, inserted_at)
|
||||
|> Map.replace(:updated_at, updated_at)
|
||||
|> datetime_from_iso8601_for_map()
|
||||
|
||||
assert get_submap(saved_author, author) == author
|
||||
assert nil != saved_author.author_alias_registry_id
|
||||
@@ -88,7 +80,7 @@ defmodule DecentralisedBookIndex.Sync.DataTransformers.AuthorSyncTest do
|
||||
assert :ok = AuthorSync.create_update(author_attrs, server.id)
|
||||
assert {:ok, saved_author} = Metadata.get_author_by_id(author.id)
|
||||
|
||||
assert author = saved_author
|
||||
assert get_submap(author, author_attrs) == get_submap(saved_author, author_attrs)
|
||||
end
|
||||
|
||||
test "the local existing author wouldn't updated", %{user: user} do
|
||||
|
||||
@@ -32,20 +32,17 @@ defmodule DecentralisedBookIndex.Sync.DataTransformers.BookSyncTest do
|
||||
updated_at: "2025-04-01T18:14:25.754055Z"
|
||||
}
|
||||
|
||||
{:ok, inserted_at, 0} = DateTime.from_iso8601(book[:inserted_at])
|
||||
{:ok, updated_at, 0} = DateTime.from_iso8601(book[:updated_at])
|
||||
|
||||
assert :ok = BookSync.create_update(book, server.id)
|
||||
assert {:ok, saved_book} = Metadata.get_book_by_id(book.id)
|
||||
|
||||
book =
|
||||
book
|
||||
|> Map.replace(:inserted_at, inserted_at)
|
||||
|> Map.replace(:updated_at, updated_at)
|
||||
|> datetime_from_iso8601_for_map()
|
||||
|> Map.replace(:published, Date.from_iso8601!(book[:published]))
|
||||
|
||||
assert nil != saved_book.book_editions_registry_id
|
||||
assert server.id == saved_book.dbi_server_id
|
||||
assert get_submap(saved_book, book) == book
|
||||
end
|
||||
|
||||
test "a new book has the same editions registry" do
|
||||
@@ -68,20 +65,17 @@ defmodule DecentralisedBookIndex.Sync.DataTransformers.BookSyncTest do
|
||||
book_editions_registry_id: "1ed81d9e-3757-472a-aa3b-44fcdfbe770a"
|
||||
}
|
||||
|
||||
{:ok, inserted_at, 0} = DateTime.from_iso8601(book[:inserted_at])
|
||||
{:ok, updated_at, 0} = DateTime.from_iso8601(book[:updated_at])
|
||||
|
||||
assert :ok = BookSync.create_update(book, server.id)
|
||||
assert {:ok, saved_book} = Metadata.get_book_by_id(book.id)
|
||||
|
||||
book =
|
||||
book
|
||||
|> Map.replace(:inserted_at, inserted_at)
|
||||
|> Map.replace(:updated_at, updated_at)
|
||||
|> datetime_from_iso8601_for_map()
|
||||
|> Map.replace(:published, Date.from_iso8601!(book[:published]))
|
||||
|
||||
assert nil != saved_book.book_editions_registry_id
|
||||
assert server.id == saved_book.dbi_server_id
|
||||
assert get_submap(saved_book, book) == book
|
||||
end
|
||||
|
||||
test "a new book with relationships will be created" do
|
||||
@@ -166,10 +160,10 @@ defmodule DecentralisedBookIndex.Sync.DataTransformers.BookSyncTest do
|
||||
}
|
||||
|
||||
assert :ok = BookSync.create_update(book_attrs, server.id)
|
||||
assert {:ok, saved_book} = Metadata.get_book_by_id(book.id)
|
||||
assert {:ok, _saved_book} = Metadata.get_book_by_id(book.id)
|
||||
end
|
||||
|
||||
test "the local existing book wouldn't updated", %{user: user} do
|
||||
test "the local existing book wouldn't updated" do
|
||||
server = generate(dbi_server(url: @test_server_endpoint))
|
||||
|
||||
book = generate(book())
|
||||
@@ -195,7 +189,7 @@ defmodule DecentralisedBookIndex.Sync.DataTransformers.BookSyncTest do
|
||||
assert saved_book.dbi_server_id == nil
|
||||
end
|
||||
|
||||
test "old book wouldn't be sync", %{user: user} do
|
||||
test "old book wouldn't be sync" do
|
||||
server = generate(dbi_server(url: @test_server_endpoint))
|
||||
|
||||
book = generate(book())
|
||||
@@ -347,11 +341,4 @@ defmodule DecentralisedBookIndex.Sync.DataTransformers.BookSyncTest do
|
||||
assert Enum.all?(old_roles, fn id -> id not in new_roles end)
|
||||
end
|
||||
end
|
||||
|
||||
defp get_ids(records) do
|
||||
Enum.map(records, fn record -> get_id(record) end)
|
||||
end
|
||||
|
||||
defp get_id(record) when is_struct(record), do: record.id
|
||||
defp get_id(record) when is_map(record), do: record[:id]
|
||||
end
|
||||
|
||||
@@ -17,11 +17,11 @@ defmodule DecentralisedBookIndex.Sync.DataTransformers.DBIServerSyncTest do
|
||||
server = generate(dbi_server(url: @test_server_endpoint))
|
||||
|
||||
dbi_server = %{
|
||||
id: "0c0647ec-07ef-4caa-b683-5847dbfbe5cc",
|
||||
name: "Test",
|
||||
url: "http://localhost:4001",
|
||||
inserted_at: "2025-03-22T20:07:30.766249Z",
|
||||
updated_at: "2025-05-04T18:48:44.213309Z"
|
||||
id: "0c0647ec-07ef-4caa-b683-5847dbfbe5cc",
|
||||
name: "Test",
|
||||
url: "http://localhost:4001",
|
||||
inserted_at: "2025-03-22T20:07:30.766249Z",
|
||||
updated_at: "2025-05-04T18:48:44.213309Z"
|
||||
}
|
||||
|
||||
{:ok, inserted_at, 0} = DateTime.from_iso8601(dbi_server[:inserted_at])
|
||||
@@ -35,27 +35,30 @@ defmodule DecentralisedBookIndex.Sync.DataTransformers.DBIServerSyncTest do
|
||||
|> Map.replace(:inserted_at, inserted_at)
|
||||
|> Map.replace(:updated_at, updated_at)
|
||||
|
||||
assert dbi_server = saved_dbi_server
|
||||
assert dbi_server == get_submap(saved_dbi_server, dbi_server)
|
||||
assert server.id == saved_dbi_server.dbi_server_id
|
||||
end
|
||||
|
||||
test "update an existing dbi_server", %{user: user} do
|
||||
server = generate(dbi_server(url: @test_server_endpoint))
|
||||
|
||||
{:ok, dbi_server} = Metadata.create_dbi_server("Test", "http://localhost:4001", false, actor: user)
|
||||
{:ok, dbi_server} =
|
||||
Metadata.create_dbi_server("Test", "http://localhost:4001", false, actor: user)
|
||||
|
||||
dbi_server_attrs = %{
|
||||
id: dbi_server.id,
|
||||
name: "Test",
|
||||
url: "http://localhost:4001",
|
||||
inserted_at: "2025-03-22T20:07:30.766249Z",
|
||||
updated_at: "2025-05-04T18:48:44.213309Z"
|
||||
id: dbi_server.id,
|
||||
name: "Test",
|
||||
url: "http://localhost:4001",
|
||||
inserted_at: "2025-03-22T20:07:30.766249Z",
|
||||
updated_at: "2025-05-04T18:48:44.213309Z"
|
||||
}
|
||||
|
||||
assert :ok = DBIServerSync.create_update(dbi_server_attrs, server.id)
|
||||
assert {:ok, saved_dbi_server} = Metadata.get_dbi_server_by_id(dbi_server.id)
|
||||
|
||||
assert dbi_server_attrs = saved_dbi_server
|
||||
assert datetime_from_iso8601_for_map(dbi_server_attrs) ==
|
||||
get_submap(saved_dbi_server, dbi_server_attrs)
|
||||
|
||||
assert server.id == saved_dbi_server.dbi_server_id
|
||||
end
|
||||
end
|
||||
|
||||
@@ -23,9 +23,6 @@ defmodule DecentralisedBookIndex.Sync.DataTransformers.PublisherSyncTest do
|
||||
updated_at: "2025-03-21T09:20:48.791539Z"
|
||||
}
|
||||
|
||||
{:ok, inserted_at, 0} = DateTime.from_iso8601(publisher[:inserted_at])
|
||||
{:ok, updated_at, 0} = DateTime.from_iso8601(publisher[:updated_at])
|
||||
|
||||
assert :ok = PublisherSync.create_update(publisher, server.id)
|
||||
assert {:ok, saved_publisher} = Metadata.get_publisher_by_id(publisher.id)
|
||||
|
||||
|
||||
@@ -16,10 +16,10 @@ defmodule DecentralisedBookIndex.SyncTasks.SyncAuthorsTaskTest do
|
||||
test "sync authors", %{user: user} do
|
||||
server = generate(dbi_server(url: @test_server_endpoint))
|
||||
|
||||
{:ok, author} = Metadata.create_author("Author", "An description", nil, nil, actor: user)
|
||||
{:ok, author} = Metadata.create_author("Author2", "An description", nil, nil, actor: user)
|
||||
{:ok, _author} = Metadata.create_author("Author", "An description", nil, nil, actor: user)
|
||||
{:ok, _author} = Metadata.create_author("Author2", "An description", nil, nil, actor: user)
|
||||
|
||||
assert server = SyncAuthorsTask.sync(server)
|
||||
assert ^server = SyncAuthorsTask.sync(server)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -2,7 +2,6 @@ defmodule DecentralisedBookIndex.SyncTasks.SyncBookTaskTest do
|
||||
use DecentralisedBookIndex.DataCase
|
||||
|
||||
alias DecentralisedBookIndex.SyncTasks.SyncBooksTask
|
||||
alias DecentralisedBookIndex.Metadata
|
||||
|
||||
alias DecentralisedBookIndex.TestEndpoints
|
||||
@test_server_endpoint TestEndpoints.test_api_endpoint()
|
||||
@@ -14,7 +13,7 @@ defmodule DecentralisedBookIndex.SyncTasks.SyncBookTaskTest do
|
||||
_book = generate(book())
|
||||
_book = generate(book())
|
||||
|
||||
assert server = SyncBooksTask.sync(server)
|
||||
assert ^server = SyncBooksTask.sync(server)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -19,7 +19,7 @@ defmodule DecentralisedBookIndex.SyncTasks.SyncDBIServerTaskTest do
|
||||
{:ok, _dbi_server} = Metadata.create_dbi_server("Test", "http://localhost:4001", false, actor: user)
|
||||
{:ok, _dbi_server} = Metadata.create_dbi_server("Test2", "http://localhost:4001", false, actor: user)
|
||||
|
||||
assert server = SyncDBIServerTask.sync(server)
|
||||
assert ^server = SyncDBIServerTask.sync(server)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -19,7 +19,7 @@ defmodule DecentralisedBookIndex.SyncTasks.SyncPublishersTaskTest do
|
||||
{:ok, _publisher} = Metadata.create_publisher("Publisher", actor: user)
|
||||
{:ok, _publisher} = Metadata.create_publisher("Publisher2", actor: user)
|
||||
|
||||
assert server = SyncPublishersTask.sync(server)
|
||||
assert ^server = SyncPublishersTask.sync(server)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -3,9 +3,6 @@ defmodule DecentralisedBookIndex.SyncTasks.SyncServerTaskTest do
|
||||
|
||||
alias DecentralisedBookIndex.SyncTasks.SyncServerTask
|
||||
|
||||
alias DecentralisedBookIndex.Sync.ApiClients.FetchJson
|
||||
alias DecentralisedBookIndex.Sync.AuthorSync
|
||||
|
||||
alias DecentralisedBookIndex.Metadata
|
||||
|
||||
alias DecentralisedBookIndex.TestEndpoints
|
||||
@@ -18,19 +15,19 @@ defmodule DecentralisedBookIndex.SyncTasks.SyncServerTaskTest do
|
||||
|
||||
describe "sync all" do
|
||||
test "servers", %{user: user} do
|
||||
server = generate(dbi_server(url: @test_server_endpoint))
|
||||
{:ok, author} = Metadata.create_author("Author", "An description", nil, nil, actor: user)
|
||||
_server = generate(dbi_server(url: @test_server_endpoint))
|
||||
{:ok, _author} = Metadata.create_author("Author", "An description", nil, nil, actor: user)
|
||||
|
||||
assert server = SyncServerTask.sync_all()
|
||||
assert :ok = SyncServerTask.sync_all()
|
||||
end
|
||||
end
|
||||
|
||||
describe "sync one" do
|
||||
test "server", %{user: user} do
|
||||
server = generate(dbi_server(url: @test_server_endpoint))
|
||||
{:ok, author} = Metadata.create_author("Author", "An description", nil, nil, actor: user)
|
||||
{:ok, _author} = Metadata.create_author("Author", "An description", nil, nil, actor: user)
|
||||
|
||||
assert server = SyncServerTask.sync_one(server)
|
||||
assert :ok = SyncServerTask.sync_one(server)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -206,7 +206,7 @@ defmodule DecentralisedBookIndexWeb.LiveViewsPermissionsTest do
|
||||
for user <- [moderator, admin] do
|
||||
assert {:ok, _view, html} =
|
||||
conn
|
||||
|> log_in_user(moderator)
|
||||
|> log_in_user(user)
|
||||
|> live("/publishers")
|
||||
|
||||
assert html =~ "Listing Publishers"
|
||||
@@ -320,7 +320,7 @@ defmodule DecentralisedBookIndexWeb.LiveViewsPermissionsTest do
|
||||
for user <- [admin] do
|
||||
assert {:ok, _view, html} =
|
||||
conn
|
||||
|> log_in_user(admin)
|
||||
|> log_in_user(user)
|
||||
|> live("/servers")
|
||||
|
||||
assert html =~ "Listing Servers"
|
||||
@@ -445,7 +445,7 @@ defmodule DecentralisedBookIndexWeb.LiveViewsPermissionsTest do
|
||||
for user <- [admin] do
|
||||
assert {:ok, _view, html} =
|
||||
conn
|
||||
|> log_in_user(admin)
|
||||
|> log_in_user(user)
|
||||
|> live("/users")
|
||||
|
||||
assert html =~ "Listing Users"
|
||||
|
||||
@@ -41,6 +41,13 @@ defmodule DecentralisedBookIndex.Helpers do
|
||||
|> DateTime.to_iso8601()
|
||||
end
|
||||
|
||||
def get_ids(records) do
|
||||
Enum.map(records, fn record -> get_id(record) end)
|
||||
end
|
||||
|
||||
def get_id(record) when is_struct(record), do: record.id
|
||||
def get_id(record) when is_map(record), do: record[:id]
|
||||
|
||||
@doc """
|
||||
Logs the given `user` into the `conn`.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user