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