Update to refactor the test for Book sync.
continuous-integration/drone/push Build is passing Details

dev
KKlochko 3 months ago
parent b9e23eeb90
commit 9189ee0b14

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

Loading…
Cancel
Save