Add the avatar_url attribute to Author's create action.

This commit is contained in:
2025-03-29 21:59:16 +02:00
parent 5b9646003b
commit 99678c12e5
6 changed files with 32 additions and 10 deletions
@@ -11,7 +11,7 @@ defmodule DecentralisedBookIndex.Metadata.AuthorTest do
test "a new author belongs to a registry if specified" do
assert {:ok, registry} = Metadata.create_author_alias_registry()
assert {:ok, author} = Metadata.create_author("Author", "An description", registry.id)
assert {:ok, author} = Metadata.create_author("Author", "An description", nil, registry.id)
assert author.author_alias_registry_id == registry.id
end
@@ -70,4 +70,18 @@ defmodule DecentralisedBookIndex.Metadata.AuthorTest do
assert alias2.id in ids
end
end
describe "authors and avatar_url" do
test "a new author has no avatar by default" do
assert {:ok, author} = Metadata.create_author("Author", "An description")
assert author.avatar_url == nil
end
test "a new author has a avatar" do
avatar_url = "/images/avatar.png"
assert {:ok, author} = Metadata.create_author("Author", "An description", avatar_url)
assert author.avatar_url == avatar_url
end
end
end
@@ -8,7 +8,7 @@ defmodule DecentralisedBookIndex.Sync.DataTransformers.AuthorTransformerTest do
test "a json contains correct author information" do
json_body = %{
"data" => %{
"attributes" => %{"description" => "Something", "name" => "Author"},
"attributes" => %{"description" => "Something", "name" => "Author", "avatar_url" => "/images/avatar.png"},
"id" => "889a323e-d104-4b5d-b276-dad5a9b1da9d",
"links" => %{},
"meta" => %{},
@@ -26,13 +26,14 @@ defmodule DecentralisedBookIndex.Sync.DataTransformers.AuthorTransformerTest do
assert %{
id: "889a323e-d104-4b5d-b276-dad5a9b1da9d",
name: "Author",
description: "Something"
description: "Something",
avatar_url: "/images/avatar.png"
} = author
end
test "a json doesn't contains author information \"data\" attribute" do
json_body = %{
"attributes" => %{"description" => "Something", "name" => "Author"},
"attributes" => %{"description" => "Something", "name" => "Author", "avatar_url" => "/images/avatar.png"},
"id" => "889a323e-d104-4b5d-b276-dad5a9b1da9d",
"links" => %{},
"meta" => %{},
@@ -44,7 +45,8 @@ defmodule DecentralisedBookIndex.Sync.DataTransformers.AuthorTransformerTest do
assert %{
id: "889a323e-d104-4b5d-b276-dad5a9b1da9d",
name: "Author",
description: "Something"
description: "Something",
avatar_url: "/images/avatar.png"
} = author
end
end
@@ -16,6 +16,7 @@ defmodule DecentralisedBookIndex.Sync.DataTransformers.AuthorSyncTest do
id: "889a323e-d104-4b5d-b276-dad5a9b1da9d",
name: "Author",
description: "Something",
avatar_url: "/images/avatar.png",
author_alias_registry_id: nil
}
@@ -24,6 +25,7 @@ defmodule DecentralisedBookIndex.Sync.DataTransformers.AuthorSyncTest do
assert author.id == saved_author.id
assert author.name == saved_author.name
assert author.avatar_url == saved_author.avatar_url
assert nil != saved_author.author_alias_registry_id
assert server.id == saved_author.dbi_server_id
end
@@ -37,6 +39,7 @@ defmodule DecentralisedBookIndex.Sync.DataTransformers.AuthorSyncTest do
id: author.id,
name: "Author2",
description: "Something2",
avatar_url: "/images/avatar.png",
author_alias_registry_id: nil
}
@@ -46,6 +49,7 @@ defmodule DecentralisedBookIndex.Sync.DataTransformers.AuthorSyncTest do
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
end
end
end