Product Promotion
0x5a.live
for different kinds of informations and explorations.
GitHub - sinetris/factory_girl_elixir: Minimal implementation of Ruby's factory_girl in Elixir.
Minimal implementation of Ruby's factory_girl in Elixir. - sinetris/factory_girl_elixir
Visit SiteGitHub - sinetris/factory_girl_elixir: Minimal implementation of Ruby's factory_girl in Elixir.
Minimal implementation of Ruby's factory_girl in Elixir. - sinetris/factory_girl_elixir
Powered by 0x5a.live ๐
FactoryGirlElixir
Minimal implementation of Ruby's factory_girl in Elixir.
This is a rewrite of the factory_boy project to make it work on Elixir v1.0.x.
Usage
Add FactoryGirlElixir as a dependency in your mix.exs
file.
defp deps do
[
{:factory_girl_elixir, "~> 0.1.1"}
]
end
You should also update your applications list to include both projects:
def application do
[applications: [:factory_girl_elixir]]
end
After you are done, run mix deps.get
in your shell to fetch the dependencies.
Defining a Factory
defmodule Factory do
use FactoryGirlElixir.Factory
factory :user do
field :password, "secret"
# create a sequence using an anonymous functions
field :username, fn(n) ->
"username#{n}"
end
# or an anonymous functions shortcut
field :email, &("foo#{&1}@example.com")
end
factory :assets do
field :name, "bob"
end
end
Then query the module to get a list of attributes for your record
user = Factory.attributes_for(:user) #=> %{password: "secret", username: "username1", email: "[email protected]"}
parametrized_user = user |> Factory.parametrize
#=> %{"email" => "[email protected]", "password" => "secret", "username" => "username1"}
You can override attributes
user = Factory.attributes_for(:user, email: "[email protected]")
#=> %{password: "secret", username: "username1", email: "[email protected]"}
Contributing
- Fork this repo
- Create a topic branch -
git checkout -b my_branch
- Push to your branch -
git push origin my_branch
- Create a Pull Request from your branch
- That's it!
Copyright and license
Copyright (c) 2014 Duilio Ruggiero. Code released under the MIT license.
Elixir Resources
are all listed below.
Made with โค๏ธ
to provide different kinds of informations and resources.