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: MySeedFactorySchemaIt 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)
endproduce [:user, :project]
test "my test", %{user: user, project: project} do
assert my_function(project, user)
endproduce org: :org1
produce org: :org2
test "my test", %{org1: org1, org2: org2} do
assert my_function(org2, org1)
end