How can I reset a factory_girl sequence?

后端 未结 9 1932
梦毁少年i
梦毁少年i 2020-12-16 10:17

Provided that I have a project factory

Factory.define :project do |p|
  p.sequence(:title)    { |n| \"project #{n} title\"                  }
  p.sequence(:         


        
9条回答
  •  小蘑菇
    小蘑菇 (楼主)
    2020-12-16 11:16

    To reset particular sequence you can try

    # spec/factories/schedule_positions.rb
    FactoryGirl.define do
      sequence :position do |n| 
        n
      end
    
      factory :schedule_position do
        position
        position_date Date.today
        ...
      end
    end
    
    # spec/models/schedule_position.rb
    require 'spec_helper'
    
    describe SchedulePosition do
      describe "Reposition" do
        before(:each) do
          nullify_position
          FactoryGirl.create_list(:schedule_position, 10)
        end
      end
    
      protected
    
      def nullify_position
        position = FactoryGirl.sequences.find(:position)
        position.instance_variable_set :@value, FactoryGirl::Sequence::EnumeratorAdapter.new(1)
      end
    end
    

提交回复
热议问题