Update to refatactor tests for syncing.
This commit is contained in:
@@ -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())
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user