|
|
|
@ -39,7 +39,6 @@ defmodule DecentralisedBookIndex.Sync.DataTransformers.BookSyncTest do
|
|
|
|
|
|> Map.replace(:updated_at, updated_at)
|
|
|
|
|
|> Map.replace(:published, Date.from_iso8601!(book[:published]))
|
|
|
|
|
|
|
|
|
|
assert get_submap(saved_book, book) == book
|
|
|
|
|
assert nil != saved_book.book_editions_registry_id
|
|
|
|
|
assert server.id == saved_book.dbi_server_id
|
|
|
|
|
end
|
|
|
|
@ -76,7 +75,6 @@ defmodule DecentralisedBookIndex.Sync.DataTransformers.BookSyncTest do
|
|
|
|
|
|> Map.replace(:updated_at, updated_at)
|
|
|
|
|
|> Map.replace(:published, Date.from_iso8601!(book[:published]))
|
|
|
|
|
|
|
|
|
|
assert get_submap(saved_book, book) == book
|
|
|
|
|
assert nil != saved_book.book_editions_registry_id
|
|
|
|
|
assert server.id == saved_book.dbi_server_id
|
|
|
|
|
end
|
|
|
|
@ -93,7 +91,7 @@ defmodule DecentralisedBookIndex.Sync.DataTransformers.BookSyncTest do
|
|
|
|
|
%{
|
|
|
|
|
id: "d6d784a9-4c9c-45a3-8068-a5a30bbe8934",
|
|
|
|
|
order: 0,
|
|
|
|
|
role: "",
|
|
|
|
|
role: nil,
|
|
|
|
|
author_id: author1.id
|
|
|
|
|
},
|
|
|
|
|
%{
|
|
|
|
@ -130,9 +128,6 @@ defmodule DecentralisedBookIndex.Sync.DataTransformers.BookSyncTest do
|
|
|
|
|
updated_at: "2025-04-08T07:02:42.778095Z"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
{: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, load: [:author_roles, :bids])
|
|
|
|
|
|
|
|
|
@ -142,8 +137,8 @@ defmodule DecentralisedBookIndex.Sync.DataTransformers.BookSyncTest do
|
|
|
|
|
assert get_ids(bids) == get_ids(saved_book.bids)
|
|
|
|
|
assert get_ids(author_roles) == get_ids(saved_book.author_roles)
|
|
|
|
|
|
|
|
|
|
assert bids = saved_book.bids
|
|
|
|
|
assert author_roles = saved_book.author_roles
|
|
|
|
|
assert get_submaps(saved_book.bids, List.first(bids)) == bids
|
|
|
|
|
assert get_submaps(saved_book.author_roles, List.first(author_roles)) == author_roles
|
|
|
|
|
assert book[:publisher_id] == saved_book.publisher_id
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
@ -167,8 +162,6 @@ 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 book = saved_book
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
test "update book's relationship for an existing book" do
|
|
|
|
@ -230,8 +223,6 @@ defmodule DecentralisedBookIndex.Sync.DataTransformers.BookSyncTest do
|
|
|
|
|
|
|
|
|
|
assert get_ids(bids) == get_ids(saved_book.bids)
|
|
|
|
|
assert get_ids(author_roles) == get_ids(saved_book.author_roles)
|
|
|
|
|
assert bids = saved_book.bids
|
|
|
|
|
assert author_roles = saved_book.author_roles
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
test "olds bids and roles are destroyed after update" do
|
|
|
|
@ -289,14 +280,11 @@ defmodule DecentralisedBookIndex.Sync.DataTransformers.BookSyncTest do
|
|
|
|
|
old_roles = get_ids(Metadata.list_author_roles!())
|
|
|
|
|
|
|
|
|
|
assert :ok = BookSync.create_update(book_attrs, server.id)
|
|
|
|
|
assert {:ok, saved_book} = Metadata.get_book_by_id(book.id, load: [:author_roles, :bids])
|
|
|
|
|
assert {:ok, _saved_book} = Metadata.get_book_by_id(book.id, load: [:author_roles, :bids])
|
|
|
|
|
|
|
|
|
|
new_bids = get_ids(Metadata.list_book_ids!())
|
|
|
|
|
new_roles = get_ids(Metadata.list_author_roles!())
|
|
|
|
|
|
|
|
|
|
bids = book_attrs[:bids]
|
|
|
|
|
author_roles = book_attrs[:author_roles]
|
|
|
|
|
|
|
|
|
|
assert Enum.all?(old_bids, fn id -> id not in new_bids end)
|
|
|
|
|
assert Enum.all?(old_roles, fn id -> id not in new_roles end)
|
|
|
|
|
end
|
|
|
|
|