View Source SeedFactory.Test (SeedFactory v0.6.0)
A helper module for ExUnit
.
Usage
Add the following line to your test modules:
use SeedFactory.Test, schema: MySeedFactorySchema
It sets up SeedFactory
by invoking SeedFactory.init/2
in ExUnit.Callbacks.setup_all/2
block and imports the following functions:
Summary
Functions
A macro that implicitly passes context
and allows usage of SeedFactory.produce/2
outside the test
block.
Functions
@spec produce( SeedFactory.entity_name() | [ SeedFactory.entity_name() | SeedFactory.rebinding_rule() | {SeedFactory.entity_name(), [trait_name :: atom() | {:as, rebind_as :: atom()}]} ] ) :: Macro.t()
A macro that implicitly passes context
and allows usage of SeedFactory.produce/2
outside the test
block.
Basically, it creates a ExUnit.Callbacks.setup/2
block and calls SeedFactory.produce/2
inside.
Examples
produce :company
test "my test", %{company: company} do
assert my_function(company)
end
produce [:user, :project]
test "my test", %{user: user, project: project} do
assert my_function(project, user)
end
produce org: :org1
produce org: :org2
test "my test", %{org1: org1, org2: org2} do
assert my_function(org2, org1)
end