Any suggestions on how to load dependency of factory in seeds file?
factory.ex
alias Test/Utils/TextGenerator
def post_factory(attrs \\ %{}) do
%Post{
body: TextGenerator.text_fake()
}
end
seeds.exs
{factory, _} = Code.require_file("factory.ex", "./test/support/") |> hd()
alias Blog.Posts
{time, _} =
:timer.tc(fn ->
tasks =
Enum.map(1..100, fn _ ->
Task.async(fn ->
post =
factory.post_factory
|> Map.from_struct()
Enum.each(1..100, fn _ -> Posts.create_post(post) end)
end)
end)
Task.await_many(tasks, 20_000)
end)
This is the error I get…
** (UndefinedFunctionError) function Blog.Utils.TextGenerator.text_fake/0 is undefined (module Blog.Utils.TextGenerator is not available)
Blog.Utils.TextGenerator.text_fake()
test/support/factory.ex:23: Blog.Factory.post_factory/1
priv/repo/seeds.exs:34: anonymous fn/1 in :elixir_compiler_1.__FILE__/1
(elixir 1.11.3) lib/task/supervised.ex:90: Task.Supervised.invoke_mfa/2
(elixir 1.11.3) lib/task/supervised.ex:35: Task.Supervised.reply/5
(stdlib 3.14) proc_lib.erl:226: :proc_lib.init_p_do_apply/3
Function: #Function<2.133263724 in file:priv/repo/seeds.exs>
Args: []