Update the sync for Author and Publisher to verify synced data.
This commit is contained in:
@@ -9,6 +9,7 @@ defmodule DecentralisedBookIndex.Sync.AuthorSync do
|
||||
attrs
|
||||
|> Map.delete(:id)
|
||||
|> Map.delete(:author_alias_registry_id)
|
||||
|> Map.put(:dbi_server_id, server_id)
|
||||
|
||||
author
|
||||
|> Ash.Changeset.for_update(:sync, attrs)
|
||||
|
||||
@@ -8,6 +8,7 @@ defmodule DecentralisedBookIndex.Sync.PublisherSync do
|
||||
attrs =
|
||||
attrs
|
||||
|> Map.delete(:id)
|
||||
|> Map.put(:dbi_server_id, server_id)
|
||||
|
||||
publisher
|
||||
|> Ash.Changeset.for_update(:sync, attrs)
|
||||
|
||||
@@ -5,6 +5,8 @@ defmodule DecentralisedBookIndex.SyncTasks.SyncAuthorsTask do
|
||||
|
||||
alias DecentralisedBookIndex.Metadata.DBIServer
|
||||
|
||||
require Logger
|
||||
|
||||
def sync(%DBIServer{} = server) do
|
||||
url = "#{server.url}/api/v1/json/authors"
|
||||
FetchJsons.get(url, sync_author_closure(server))
|
||||
|
||||
@@ -5,6 +5,8 @@ defmodule DecentralisedBookIndex.SyncTasks.SyncPublishersTask do
|
||||
|
||||
alias DecentralisedBookIndex.Metadata.DBIServer
|
||||
|
||||
require Logger
|
||||
|
||||
def sync(%DBIServer{} = server) do
|
||||
url = "#{server.url}/api/v1/json/publishers"
|
||||
FetchJsons.get(url, sync_closure(server))
|
||||
|
||||
@@ -16,15 +16,23 @@ defmodule DecentralisedBookIndex.Sync.DataTransformers.AuthorSyncTest do
|
||||
name: "Author",
|
||||
description: "Something",
|
||||
avatar_url: "/images/avatar.png",
|
||||
author_alias_registry_id: nil
|
||||
author_alias_registry_id: nil,
|
||||
inserted_at: "2025-03-21T09:20:48.791539Z",
|
||||
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)
|
||||
|
||||
assert author.id == saved_author.id
|
||||
assert author.name == saved_author.name
|
||||
assert author.avatar_url == saved_author.avatar_url
|
||||
author =
|
||||
author
|
||||
|> Map.replace(:inserted_at, inserted_at)
|
||||
|> Map.replace(:updated_at, updated_at)
|
||||
|
||||
assert author = saved_author
|
||||
assert nil != saved_author.author_alias_registry_id
|
||||
assert server.id == saved_author.dbi_server_id
|
||||
end
|
||||
@@ -45,10 +53,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.id == saved_author.id
|
||||
assert author_attrs.name == saved_author.name
|
||||
assert author_attrs.description == saved_author.description
|
||||
assert author_attrs.avatar_url == saved_author.avatar_url
|
||||
assert author = saved_author
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -30,6 +30,7 @@ defmodule DecentralisedBookIndex.Sync.DataTransformers.PublisherSyncTest do
|
||||
|> Map.replace(:updated_at, updated_at)
|
||||
|
||||
assert publisher = saved_publisher
|
||||
assert server.id == saved_publisher.dbi_server_id
|
||||
end
|
||||
|
||||
test "update an existing publisher" do
|
||||
@@ -48,6 +49,7 @@ defmodule DecentralisedBookIndex.Sync.DataTransformers.PublisherSyncTest do
|
||||
assert {:ok, saved_publisher} = Metadata.get_publisher_by_id(publisher.id)
|
||||
|
||||
assert publisher_attrs = saved_publisher
|
||||
assert server.id == saved_publisher.dbi_server_id
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user