2011-07-11 21:11:06 -06:00
|
|
|
Feature:
|
|
|
|
In order to easily generate factory files instead of fixture files when generating models
|
2014-05-26 20:39:51 -07:00
|
|
|
As a user of Rails and Factory Girl
|
2011-07-11 21:11:06 -06:00
|
|
|
I would like to use factory_girl_rails generators.
|
|
|
|
|
2012-12-19 14:46:21 -05:00
|
|
|
Background:
|
|
|
|
Given I successfully run `bundle exec rails new testapp`
|
2011-07-11 21:11:06 -06:00
|
|
|
And I cd to "testapp"
|
|
|
|
And I add "factory_girl_rails" from this project as a dependency
|
2012-12-19 14:46:21 -05:00
|
|
|
|
|
|
|
Scenario: The factory_girl_rails generators create a factory file for each model that I generate
|
2012-12-21 11:08:37 -05:00
|
|
|
When I run `bundle install` with a clean environment
|
|
|
|
And I run `bundle exec rails generate model User name:string --fixture-replacement=factory_girl` with a clean environment
|
|
|
|
And I run `bundle exec rails generate model Namespaced::User name:string --fixture-replacement=factory_girl` with a clean environment
|
2012-02-26 12:58:48 -06:00
|
|
|
Then the output should contain "test/factories/users.rb"
|
|
|
|
And the output should contain "test/factories/namespaced_users.rb"
|
|
|
|
And the file "test/factories/users.rb" should contain "factory :user do"
|
|
|
|
And the file "test/factories/namespaced_users.rb" should contain "factory :namespaced_user, :class => 'Namespaced::User' do"
|
2012-11-29 02:46:29 -08:00
|
|
|
|
2012-12-19 14:46:21 -05:00
|
|
|
Scenario: The factory_girl_rails generators create a factory file with a custom name for each model that I generate
|
2012-12-21 11:08:37 -05:00
|
|
|
When I run `bundle install` with a clean environment
|
2012-11-29 02:46:29 -08:00
|
|
|
And I set the FactoryGirl :suffix option to "factory"
|
2012-12-21 11:08:37 -05:00
|
|
|
And I run `bundle exec rails generate model User name:string --fixture-replacement=factory_girl` with a clean environment
|
|
|
|
And I run `bundle exec rails generate model Namespaced::User name:string --fixture-replacement=factory_girl` with a clean environment
|
2012-11-29 02:46:29 -08:00
|
|
|
Then the output should contain "test/factories/users_factory.rb"
|
|
|
|
And the output should contain "test/factories/namespaced_users_factory.rb"
|
|
|
|
And the file "test/factories/users_factory.rb" should contain "factory :user do"
|
|
|
|
And the file "test/factories/namespaced_users_factory.rb" should contain "factory :namespaced_user, :class => 'Namespaced::User' do"
|