Add generators for Publisher and Book for testing.
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user