Update the tests for books.
continuous-integration/drone/push Build is passing Details

dev
KKlochko 4 months ago
parent 9cdedf0c7c
commit 02d35ee056

@ -5,43 +5,79 @@ defmodule DecentralisedBookIndex.Metadata.BookTest do
describe "books and registries relationship" do describe "books and registries relationship" do
test "a new book get new registry by default" do test "a new book get new registry by default" do
assert {:ok, book} = Metadata.create_book("Book", "1234567890", "An description") {:ok, author} = Metadata.create_author("Author", "An description")
author_roles = [
%{order: 1, author_id: author.id, role: ""}
]
assert {:ok, book} = Metadata.create_book("Book", "1234567890", "An description", author_roles)
assert book.book_editions_registry_id != nil assert book.book_editions_registry_id != nil
end end
test "a new book belongs to a registry if specified" do test "a new book belongs to a registry if specified" do
{:ok, author} = Metadata.create_author("Author", "An description")
author_roles = [
%{order: 1, author_id: author.id, role: ""}
]
assert {:ok, registry} = Metadata.create_book_editions_registry() assert {:ok, registry} = Metadata.create_book_editions_registry()
assert {:ok, book} = Metadata.create_book("Book", "1234567890", "An description", registry.id) assert {:ok, book} = Metadata.create_book("Book", "1234567890", "An description", author_roles, registry.id)
assert book.book_editions_registry_id == registry.id assert book.book_editions_registry_id == registry.id
end end
test "a new book to a registry via a related book record" do test "a new book to a registry via a related book record" do
{:ok, related_book} = Metadata.create_book("Book", "1234567890", "An description") {:ok, author} = Metadata.create_author("Author", "An description")
author_roles = [
%{order: 1, author_id: author.id, role: ""}
]
{:ok, related_book} = Metadata.create_book("Book", "1234567890", "An description", author_roles)
assert {:ok, book} = assert {:ok, book} =
Metadata.add_book_to_related_editions_registry("Book2", "1234567891", "An description2", related_book.id) Metadata.add_book_to_related_editions_registry("Book2", "1234567891", "An description2", author_roles, related_book.id)
assert related_book.book_editions_registry_id == book.book_editions_registry_id assert related_book.book_editions_registry_id == book.book_editions_registry_id
end end
test "a new book to a registry via a empty related book record" do test "a new book to a registry via a empty related book record" do
{:ok, author} = Metadata.create_author("Author", "An description")
author_roles = [
%{order: 1, author_id: author.id, role: ""}
]
assert {:error, _} = assert {:error, _} =
Metadata.add_book_to_related_editions_registry("Book2", "1234567891", "An description2", nil) Metadata.add_book_to_related_editions_registry("Book2", "1234567891", "An description2", author_roles, nil)
end end
end end
describe "books alternatives names" do describe "books alternatives names" do
test "new book has no alternatives names" do test "new book has no alternatives names" do
{:ok, book} = Metadata.create_book("Book", "1234567890", "An description") {:ok, author} = Metadata.create_author("Author", "An description")
author_roles = [
%{order: 1, author_id: author.id, role: ""}
]
{:ok, book} = Metadata.create_book("Book", "1234567890", "An description", author_roles)
assert {:ok, alternatives_names} = Metadata.get_book_alternative_editions(book) assert {:ok, alternatives_names} = Metadata.get_book_alternative_editions(book)
assert alternatives_names = [] assert alternatives_names = []
end end
test "book has related book so they has one alternative name" do test "book has related book so they has one alternative name" do
{:ok, related_book} = Metadata.create_book("Book", "1234567890", "An description") {:ok, author} = Metadata.create_author("Author", "An description")
author_roles = [
%{order: 1, author_id: author.id, role: ""}
]
{:ok, related_book} = Metadata.create_book("Book", "1234567890", "An description", author_roles)
{:ok, book} = {:ok, book} =
Metadata.add_book_to_related_editions_registry("Book2", "1234567891", "An description2", related_book.id) Metadata.add_book_to_related_editions_registry("Book2", "1234567891", "An description2", author_roles, related_book.id)
assert {:ok, alternatives_names} = Metadata.get_book_alternative_editions(book) assert {:ok, alternatives_names} = Metadata.get_book_alternative_editions(book)
assert alternatives_names = [related_book] assert alternatives_names = [related_book]

Loading…
Cancel
Save