Sha256: f76058d661946498992ef7e418fb55d99f5972c2470922aaba014489dcaac6a7
Contents?: true
Size: 1.4 KB
Versions: 201
Compression:
Stored size: 1.4 KB
Contents
require "spec_helper" describe "calling methods on the model instance" do before do define_model('User', age: :integer, age_copy: :integer) do def age read_attribute(:age) || 18 end end FactoryGirl.define do factory :user do age_copy { age } end end end context "without the attribute being overridden" do it "returns the correct value from the instance" do FactoryGirl.build(:user).age_copy.should == 18 end it "returns nil during attributes_for" do FactoryGirl.attributes_for(:user)[:age_copy].should be_nil end it "doesn't instantiate a record with attributes_for" do User.stubs(:new) FactoryGirl.attributes_for(:user) User.should have_received(:new).never end end context "with the attribute being overridden" do it "uses the overridden value" do FactoryGirl.build(:user, age_copy: nil).age_copy.should be_nil end it "uses the overridden value during attributes_for" do FactoryGirl.attributes_for(:user, age_copy: 25)[:age_copy].should == 25 end end context "with the referenced attribute being overridden" do it "uses the overridden value" do FactoryGirl.build(:user, age: nil).age_copy.should be_nil end it "uses the overridden value during attributes_for" do FactoryGirl.attributes_for(:user, age: 25)[:age_copy].should == 25 end end end
Version data entries
201 entries across 93 versions & 7 rubygems
Version | Path |
---|---|
factory_girl-3.0.0.rc1 | spec/acceptance/attributes_from_instance_spec.rb |