Sha256: 5f7d0226e9c1f27b2e9557b0cfd2084d7b3e5fd75856bb88e3578f7acfafb28c

Contents?: true

Size: 1.36 KB

Versions: 71

Compression:

Stored size: 1.36 KB

Contents

require 'spec_helper'

describe FactoryGirl::Callback do
  it "has a name" do
    FactoryGirl::Callback.new(:after_create, lambda {}).name.should == :after_create
  end

  it "converts strings to symbols" do
    FactoryGirl::Callback.new("after_create", lambda {}).name.should == :after_create
  end

  it "runs its block with no parameters" do
    ran_with = nil
    FactoryGirl::Callback.new(:after_create, lambda { ran_with = [] }).run(:one, :two)
    ran_with.should == []
  end

  it "runs its block with one parameter" do
    ran_with = nil
    FactoryGirl::Callback.new(:after_create, lambda { |one| ran_with = [one] }).run(:one, :two)
    ran_with.should == [:one]
  end

  it "runs its block with two parameters" do
    ran_with = nil
    FactoryGirl::Callback.new(:after_create, lambda { |one, two| ran_with = [one, two] }).run(:one, :two)
    ran_with.should == [:one, :two]
  end

  it "allows valid callback names to be assigned" do
    FactoryGirl.callback_names.each do |callback_name|
      expect { FactoryGirl::Callback.new(callback_name, lambda {}) }.
        to_not raise_error(FactoryGirl::InvalidCallbackNameError)
    end
  end

  it "raises if an invalid callback name is assigned" do
    expect { FactoryGirl::Callback.new(:magic_fairies, lambda {}) }.
      to raise_error(FactoryGirl::InvalidCallbackNameError, /magic_fairies is not a valid callback name/)
  end
end

Version data entries

71 entries across 67 versions & 5 rubygems

Version Path
classiccms-0.7.5 vendor/bundle/gems/factory_girl-3.0.0/spec/factory_girl/callback_spec.rb
classiccms-0.7.4 vendor/bundle/gems/factory_girl-3.0.0/spec/factory_girl/callback_spec.rb
classiccms-0.7.3 vendor/bundle/gems/factory_girl-3.0.0/spec/factory_girl/callback_spec.rb
judge-2.0.5 vendor/bundle/ruby/2.1.0/gems/factory_girl-2.6.4/spec/factory_girl/callback_spec.rb
classiccms-0.7.2 vendor/bundle/gems/factory_girl-3.0.0/spec/factory_girl/callback_spec.rb
classiccms-0.7.1 vendor/bundle/gems/factory_girl-3.0.0/spec/factory_girl/callback_spec.rb
classiccms-0.7.0 vendor/bundle/gems/factory_girl-3.0.0/spec/factory_girl/callback_spec.rb
classiccms-0.6.9 vendor/bundle/gems/factory_girl-3.0.0/spec/factory_girl/callback_spec.rb
classiccms-0.6.8 vendor/bundle/gems/factory_girl-3.0.0/spec/factory_girl/callback_spec.rb
classiccms-0.6.7 vendor/bundle/gems/factory_girl-3.0.0/spec/factory_girl/callback_spec.rb
classiccms-0.6.6 vendor/bundle/gems/factory_girl-3.0.0/spec/factory_girl/callback_spec.rb
classiccms-0.6.5 vendor/bundle/gems/factory_girl-3.0.0/spec/factory_girl/callback_spec.rb
classiccms-0.6.4 vendor/bundle/gems/factory_girl-3.0.0/spec/factory_girl/callback_spec.rb
classiccms-0.6.3 vendor/bundle/gems/factory_girl-3.0.0/spec/factory_girl/callback_spec.rb
classiccms-0.6.2 vendor/bundle/gems/factory_girl-3.0.0/spec/factory_girl/callback_spec.rb
classiccms-0.6.1 vendor/bundle/gems/factory_girl-3.0.0/spec/factory_girl/callback_spec.rb
classiccms-0.6.0 vendor/bundle/gems/factory_girl-3.0.0/spec/factory_girl/callback_spec.rb
classiccms-0.5.17 vendor/bundle/gems/factory_girl-3.0.0/spec/factory_girl/callback_spec.rb
classiccms-0.5.16 vendor/bundle/gems/factory_girl-3.0.0/spec/factory_girl/callback_spec.rb
classiccms-0.5.15 vendor/bundle/gems/factory_girl-3.0.0/spec/factory_girl/callback_spec.rb