1
0
Fork 0
mirror of https://github.com/thoughtbot/factory_bot_rails.git synced 2022-11-09 11:49:18 -05:00
thoughtbot--factory_bot_rails/features/load_definitions.feature
Dan Croak 00cb2eabb1 Test against Rails 3.2, 4.0, 4.1
* Remove gemfiles from version control to match same testing style as
  Clearance and Suspenders.
* MiniTest does not need to be manually included as it is automatically
  included by Rails by default.
* Add spring for Rails 4.1.
* Disable Spring to get specs to pass on Rails 4.1.
* Add therubyrhino for JRuby.
* Remove old references to Rails 3.
* Fix JRuby test where output is "1 runs", not "1 tests".
* Remove Rails 3.0 reference to "turn".
2014-05-27 00:41:24 -07:00

84 lines
2.6 KiB
Gherkin

Feature: automatically load step definitions
Background:
When I successfully run `bundle exec rails new testapp`
And I cd to "testapp"
And I add "factory_girl_rails" from this project as a dependency
And I run `bundle install` with a clean environment
And I write to "db/migrate/1_create_users.rb" with:
"""
class CreateUsers < ActiveRecord::Migration
def self.up
create_table :users do |t|
t.string :name
end
end
end
"""
When I run `bundle exec rake db:migrate --trace` with a clean environment
And I write to "app/models/user.rb" with:
"""
class User < ActiveRecord::Base
end
"""
Scenario: generate a Rails application and use factory definitions
When I write to "test/factories.rb" with:
"""
FactoryGirl.define do
factory :user do
name "Frank"
end
end
"""
When I write to "test/unit/user_test.rb" with:
"""
require 'test_helper'
class UserTest < ActiveSupport::TestCase
test "use factory" do
user = FactoryGirl.create(:user)
assert_equal 'Frank', user.name
end
end
"""
When I run `bundle exec rake test --trace` with a clean environment
Then the output should contain "1 assertions, 0 failures, 0 errors"
Scenario: use factories advertised by railties/engines/3rd-party gems
When I append to "config/application.rb" with:
"""
require File.expand_path('../../lib/some_railtie/railties.rb', __FILE__)
"""
When I write to "lib/some_railtie/railties.rb" with:
"""
module SomeRailtie
class Railtie < ::Rails::Engine
initializer "some_railtie.factories", :after => "factory_girl.set_factory_paths" do
FactoryGirl.definition_file_paths << File.expand_path('../factories', __FILE__)
end
end
end
"""
When I write to "lib/some_railtie/factories.rb" with:
"""
FactoryGirl.define do
factory :factory_from_some_railtie, :class => 'User' do
name 'Artem'
end
end
"""
When I write to "test/unit/user_test.rb" with:
"""
require 'test_helper'
class UserTest < ActiveSupport::TestCase
test "use factory of some_railtie" do
user = FactoryGirl.create(:factory_from_some_railtie)
assert_equal 'Artem', user.name
end
end
"""
When I run `bundle exec rake test --trace` with a clean environment
Then the output should contain "1 assertions, 0 failures, 0 errors"