Note that there are some explanatory texts on larger screens.

plurals
  1. POFactory Girl sequences not incrementing
    primarykey
    data
    text
    <p>I'm trying to get FactoryGirl to generate some names for me, but the sequence doesn't seem to increment.</p> <pre><code># spec/factories/vessel.rb require 'factory_girl' FactoryGirl.define do sequence :vessel_name do |n| "TK42#{n}" end factory :vessel do name FactoryGirl.generate(:vessel_name) vessel_type 'fermenter' volume_scalar 100.0 volume_units 'bbl' end end </code></pre> <hr> <pre><code># spec/models/vessel_spec.rb require 'spec_helper' describe Vessel do context 'working in the factory' do it 'makes a valid vessel' do vessel = FactoryGirl.create(:vessel) vessel.should be_valid, "Invalid vessel #{vessel.valid? || vessel.errors.messages.inspect}" end it 'makes another valid vessel' do vessel = FactoryGirl.create(:vessel) vessel.should be_valid, "Invalid vessel #{vessel.valid? || vessel.errors.messages.inspect}" end end end </code></pre> <p>The spec output is</p> <pre><code>Vessel working in the factory makes a valid vessel makes another valid vessel (FAILED - 1) Failures: 1) Vessel working in the factory makes another valid vessel Failure/Error: vessel = FactoryGirl.create(:vessel) ActiveRecord::RecordInvalid: Validation failed: Name has already been taken # ./spec/models/vessel_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;' </code></pre> <hr> <pre><code># app/models/vessel.rb class Vessel &lt; ActiveRecord::Base attr_accessible :name, :vessel_type, :volume_scalar, :volume_units validates :name, :presence =&gt; true, :uniqueness =&gt; true end </code></pre> <hr> <pre><code>0 HAL:0 work/nrb-brewery-management % bundle show factory_girl_rails rspec /home/brundage/.rvm/gems/ruby-1.9.3-p0/gems/factory_girl_rails-3.5.0 /home/brundage/.rvm/gems/ruby-1.9.3-p0/gems/rspec-2.11.0 0 HAL:0 work/nrb-brewery-management % rails c test Loading test environment (Rails 3.2.6) 1.9.3p0 :001 &gt; FactoryGirl.generate :vessel_name =&gt; "TK422" 1.9.3p0 :002 &gt; FactoryGirl.generate :vessel_name =&gt; "TK423" 1.9.3p0 :003 &gt; FactoryGirl.generate :vessel_name =&gt; "TK424" 1.9.3p0 :004 &gt; FactoryGirl.generate :vessel_name =&gt; "TK425" </code></pre> <p>Why doesn't FactoryGirl generate a sequence of names in my spec?</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload