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"
|
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)
|
||||||
|
|
||||||
author =
|
author =
|
||||||
author
|
author
|
||||||
|> Map.replace(:inserted_at, inserted_at)
|
|
||||||
|> Map.replace(:updated_at, updated_at)
|
|
||||||
|> Map.delete(:author_alias_registry_id)
|
|> Map.delete(:author_alias_registry_id)
|
||||||
|
|> datetime_from_iso8601_for_map()
|
||||||
|
|
||||||
assert get_submap(saved_author, author) == author
|
assert get_submap(saved_author, author) == author
|
||||||
assert nil != saved_author.author_alias_registry_id
|
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"
|
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)
|
||||||
|
|
||||||
author =
|
author =
|
||||||
author
|
author
|
||||||
|> Map.replace(:inserted_at, inserted_at)
|
|> datetime_from_iso8601_for_map()
|
||||||
|> Map.replace(:updated_at, updated_at)
|
|
||||||
|
|
||||||
assert get_submap(saved_author, author) == author
|
assert get_submap(saved_author, author) == author
|
||||||
assert nil != saved_author.author_alias_registry_id
|
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 = 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 = saved_author
|
assert get_submap(author, author_attrs) == get_submap(saved_author, author_attrs)
|
||||||
end
|
end
|
||||||
|
|
||||||
test "the local existing author wouldn't updated", %{user: user} do
|
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"
|
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 = BookSync.create_update(book, server.id)
|
||||||
assert {:ok, saved_book} = Metadata.get_book_by_id(book.id)
|
assert {:ok, saved_book} = Metadata.get_book_by_id(book.id)
|
||||||
|
|
||||||
book =
|
book =
|
||||||
book
|
book
|
||||||
|> Map.replace(:inserted_at, inserted_at)
|
|> datetime_from_iso8601_for_map()
|
||||||
|> Map.replace(:updated_at, updated_at)
|
|
||||||
|> Map.replace(:published, Date.from_iso8601!(book[:published]))
|
|> Map.replace(:published, Date.from_iso8601!(book[:published]))
|
||||||
|
|
||||||
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
|
||||||
|
assert get_submap(saved_book, book) == book
|
||||||
end
|
end
|
||||||
|
|
||||||
test "a new book has the same editions registry" do
|
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"
|
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 = BookSync.create_update(book, server.id)
|
||||||
assert {:ok, saved_book} = Metadata.get_book_by_id(book.id)
|
assert {:ok, saved_book} = Metadata.get_book_by_id(book.id)
|
||||||
|
|
||||||
book =
|
book =
|
||||||
book
|
book
|
||||||
|> Map.replace(:inserted_at, inserted_at)
|
|> datetime_from_iso8601_for_map()
|
||||||
|> Map.replace(:updated_at, updated_at)
|
|
||||||
|> Map.replace(:published, Date.from_iso8601!(book[:published]))
|
|> Map.replace(:published, Date.from_iso8601!(book[:published]))
|
||||||
|
|
||||||
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
|
||||||
|
assert get_submap(saved_book, book) == book
|
||||||
end
|
end
|
||||||
|
|
||||||
test "a new book with relationships will be created" do
|
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 = 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
|
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))
|
server = generate(dbi_server(url: @test_server_endpoint))
|
||||||
|
|
||||||
book = generate(book())
|
book = generate(book())
|
||||||
|
|||||||
@@ -17,11 +17,11 @@ defmodule DecentralisedBookIndex.Sync.DataTransformers.DBIServerSyncTest do
|
|||||||
server = generate(dbi_server(url: @test_server_endpoint))
|
server = generate(dbi_server(url: @test_server_endpoint))
|
||||||
|
|
||||||
dbi_server = %{
|
dbi_server = %{
|
||||||
id: "0c0647ec-07ef-4caa-b683-5847dbfbe5cc",
|
id: "0c0647ec-07ef-4caa-b683-5847dbfbe5cc",
|
||||||
name: "Test",
|
name: "Test",
|
||||||
url: "http://localhost:4001",
|
url: "http://localhost:4001",
|
||||||
inserted_at: "2025-03-22T20:07:30.766249Z",
|
inserted_at: "2025-03-22T20:07:30.766249Z",
|
||||||
updated_at: "2025-05-04T18:48:44.213309Z"
|
updated_at: "2025-05-04T18:48:44.213309Z"
|
||||||
}
|
}
|
||||||
|
|
||||||
{:ok, inserted_at, 0} = DateTime.from_iso8601(dbi_server[:inserted_at])
|
{: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(:inserted_at, inserted_at)
|
||||||
|> Map.replace(:updated_at, updated_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
|
assert server.id == saved_dbi_server.dbi_server_id
|
||||||
end
|
end
|
||||||
|
|
||||||
test "update an existing dbi_server", %{user: user} do
|
test "update an existing dbi_server", %{user: user} do
|
||||||
server = generate(dbi_server(url: @test_server_endpoint))
|
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 = %{
|
dbi_server_attrs = %{
|
||||||
id: dbi_server.id,
|
id: dbi_server.id,
|
||||||
name: "Test",
|
name: "Test",
|
||||||
url: "http://localhost:4001",
|
url: "http://localhost:4001",
|
||||||
inserted_at: "2025-03-22T20:07:30.766249Z",
|
inserted_at: "2025-03-22T20:07:30.766249Z",
|
||||||
updated_at: "2025-05-04T18:48:44.213309Z"
|
updated_at: "2025-05-04T18:48:44.213309Z"
|
||||||
}
|
}
|
||||||
|
|
||||||
assert :ok = DBIServerSync.create_update(dbi_server_attrs, server.id)
|
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 {: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
|
assert server.id == saved_dbi_server.dbi_server_id
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -23,9 +23,6 @@ defmodule DecentralisedBookIndex.Sync.DataTransformers.PublisherSyncTest do
|
|||||||
updated_at: "2025-03-21T09:20:48.791539Z"
|
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 = PublisherSync.create_update(publisher, server.id)
|
||||||
assert {:ok, saved_publisher} = Metadata.get_publisher_by_id(publisher.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
|
test "sync authors", %{user: user} do
|
||||||
server = generate(dbi_server(url: @test_server_endpoint))
|
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)
|
||||||
{:ok, author} = Metadata.create_author("Author2", "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
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ defmodule DecentralisedBookIndex.SyncTasks.SyncBookTaskTest do
|
|||||||
use DecentralisedBookIndex.DataCase
|
use DecentralisedBookIndex.DataCase
|
||||||
|
|
||||||
alias DecentralisedBookIndex.SyncTasks.SyncBooksTask
|
alias DecentralisedBookIndex.SyncTasks.SyncBooksTask
|
||||||
alias DecentralisedBookIndex.Metadata
|
|
||||||
|
|
||||||
alias DecentralisedBookIndex.TestEndpoints
|
alias DecentralisedBookIndex.TestEndpoints
|
||||||
@test_server_endpoint TestEndpoints.test_api_endpoint()
|
@test_server_endpoint TestEndpoints.test_api_endpoint()
|
||||||
@@ -14,7 +13,7 @@ defmodule DecentralisedBookIndex.SyncTasks.SyncBookTaskTest do
|
|||||||
_book = generate(book())
|
_book = generate(book())
|
||||||
_book = generate(book())
|
_book = generate(book())
|
||||||
|
|
||||||
assert server = SyncBooksTask.sync(server)
|
assert ^server = SyncBooksTask.sync(server)
|
||||||
end
|
end
|
||||||
end
|
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("Test", "http://localhost:4001", false, actor: user)
|
||||||
{:ok, _dbi_server} = Metadata.create_dbi_server("Test2", "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
|
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("Publisher", actor: user)
|
||||||
{:ok, _publisher} = Metadata.create_publisher("Publisher2", actor: user)
|
{:ok, _publisher} = Metadata.create_publisher("Publisher2", actor: user)
|
||||||
|
|
||||||
assert server = SyncPublishersTask.sync(server)
|
assert ^server = SyncPublishersTask.sync(server)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -3,9 +3,6 @@ defmodule DecentralisedBookIndex.SyncTasks.SyncServerTaskTest do
|
|||||||
|
|
||||||
alias DecentralisedBookIndex.SyncTasks.SyncServerTask
|
alias DecentralisedBookIndex.SyncTasks.SyncServerTask
|
||||||
|
|
||||||
alias DecentralisedBookIndex.Sync.ApiClients.FetchJson
|
|
||||||
alias DecentralisedBookIndex.Sync.AuthorSync
|
|
||||||
|
|
||||||
alias DecentralisedBookIndex.Metadata
|
alias DecentralisedBookIndex.Metadata
|
||||||
|
|
||||||
alias DecentralisedBookIndex.TestEndpoints
|
alias DecentralisedBookIndex.TestEndpoints
|
||||||
@@ -18,19 +15,19 @@ defmodule DecentralisedBookIndex.SyncTasks.SyncServerTaskTest do
|
|||||||
|
|
||||||
describe "sync all" do
|
describe "sync all" do
|
||||||
test "servers", %{user: user} do
|
test "servers", %{user: user} do
|
||||||
server = generate(dbi_server(url: @test_server_endpoint))
|
_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_all()
|
assert :ok = SyncServerTask.sync_all()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "sync one" do
|
describe "sync one" do
|
||||||
test "server", %{user: user} do
|
test "server", %{user: user} do
|
||||||
server = generate(dbi_server(url: @test_server_endpoint))
|
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
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user