Add generators for Publisher and Book for testing.

dev
KKlochko 3 months ago
parent 23584c2b78
commit c6ce8173b6

@ -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

Loading…
Cancel
Save