Sha256: ab8c2c07d52eb0a7d94823c39ad1cddf94e4d7f7ac080b9505436151f76e2096
Contents?: true
Size: 1.37 KB
Versions: 4
Compression:
Stored size: 1.37 KB
Contents
require 'spec_helper' describe Factory::Attribute::Dynamic do before do @name = :first_name @block = lambda { 'value' } @attr = Factory::Attribute::Dynamic.new(@name, @block) end it "should have a name" do @attr.name.should == @name end it "should call the block to set a value" do @proxy = "proxy" stub(@proxy).set @attr.add_to(@proxy) @proxy.should have_received.set(@name, 'value') end it "should yield the proxy to the block when adding its value to a proxy" do @block = lambda {|a| a } @attr = Factory::Attribute::Dynamic.new(:user, @block) @proxy = "proxy" stub(@proxy).set @attr.add_to(@proxy) @proxy.should have_received.set(:user, @proxy) end it "should raise an error when defining an attribute writer" do lambda { Factory::Attribute::Dynamic.new('test=', nil) }.should raise_error(Factory::AttributeDefinitionError) end it "should raise an error when returning a sequence" do stub(Factory).sequence { Factory::Sequence.new } block = lambda { Factory.sequence(:email) } attr = Factory::Attribute::Dynamic.new(:email, block) proxy = stub!.set.subject lambda { attr.add_to(proxy) }.should raise_error(Factory::SequenceAbuseError) end it "should convert names to symbols" do Factory::Attribute::Dynamic.new('name', nil).name.should == :name end end
Version data entries
4 entries across 4 versions & 1 rubygems