|
|
|
@ -90,4 +90,69 @@ defmodule DecentralisedBookIndex.Generators do
|
|
|
|
|
%{order: order, type: type, bid: "1234567890"}
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
@doc """
|
|
|
|
|
Generates a publisher.
|
|
|
|
|
"""
|
|
|
|
|
def publisher(opts \\ []) do
|
|
|
|
|
actor =
|
|
|
|
|
opts[:actor] ||
|
|
|
|
|
once(:default_actor, fn ->
|
|
|
|
|
generate(user())
|
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
changeset_generator(
|
|
|
|
|
Metadata.Publisher,
|
|
|
|
|
:create,
|
|
|
|
|
defaults: [
|
|
|
|
|
name: sequence(:name, &"Publisher #{&1}"),
|
|
|
|
|
],
|
|
|
|
|
overrides: opts,
|
|
|
|
|
actor: actor
|
|
|
|
|
)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
@doc """
|
|
|
|
|
Generates a book.
|
|
|
|
|
"""
|
|
|
|
|
def book(opts \\ []) do
|
|
|
|
|
actor =
|
|
|
|
|
opts[:actor] ||
|
|
|
|
|
once(:default_actor, fn ->
|
|
|
|
|
generate(user())
|
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
bids =
|
|
|
|
|
opts[:bids] ||
|
|
|
|
|
once(:default_bids, fn ->
|
|
|
|
|
bids()
|
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
author_roles =
|
|
|
|
|
opts[:author_roles] ||
|
|
|
|
|
once(:default_author_roles, fn ->
|
|
|
|
|
author_roles()
|
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
publisher =
|
|
|
|
|
opts[:publisher] ||
|
|
|
|
|
once(:default_publisher, fn ->
|
|
|
|
|
generate(publisher())
|
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
changeset_generator(
|
|
|
|
|
Metadata.Book,
|
|
|
|
|
:create,
|
|
|
|
|
defaults: [
|
|
|
|
|
title: sequence(:name, &"Book #{&1}"),
|
|
|
|
|
description: sequence(:name, &"Description #{&1}"),
|
|
|
|
|
bids: bids,
|
|
|
|
|
author_roles: author_roles,
|
|
|
|
|
publisher: publisher,
|
|
|
|
|
book_editions_registry_id: nil,
|
|
|
|
|
],
|
|
|
|
|
overrides: opts,
|
|
|
|
|
actor: actor
|
|
|
|
|
)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|