Sha256: c4a1d6786522cf27a9a990c1a22ad2840dcdc794448bea0c01f238d94478302a

Contents?: true

Size: 1.88 KB

Versions: 13

Compression:

Stored size: 1.88 KB

Contents

require 'spec_helper'

describe FactoryGirl::Sequence do
  describe "a basic sequence" do
    before do
      @name = :test
      @sequence = FactoryGirl::Sequence.new(@name) {|n| "=#{n}" }
    end

    it "has a name" do
      @sequence.name.should == @name
    end

    it "has names" do
      @sequence.names.should == [@name]
    end

    it "should start with a value of 1" do
      @sequence.next.should == "=1"
    end

    it "responds to default_strategy" do
      @sequence.default_strategy.should == :create
    end

    describe "after being called" do
      before do
        @sequence.next
      end

      it "should use the next value" do
        @sequence.next.should == "=2"
      end
    end
  end

  describe "a custom sequence" do
    before do
      @sequence = FactoryGirl::Sequence.new(:name, "A") {|n| "=#{n}" }
    end

    it "should start with a value of A" do
      @sequence.next.should == "=A"
    end

    describe "after being called" do
      before do
        @sequence.next
      end

      it "should use the next value" do
        @sequence.next.should == "=B"
      end
    end
  end

  describe "a basic sequence without a block" do
    before do
      @sequence = FactoryGirl::Sequence.new(:name)
    end

    it "should start with a value of 1" do
      @sequence.next.should == 1
    end

    describe "after being called" do
      before do
        @sequence.next
      end

      it "should use the next value" do
        @sequence.next.should == 2
      end
    end
  end

  describe "a custom sequence without a block" do
    before do
      @sequence = FactoryGirl::Sequence.new(:name, "A")
    end

    it "should start with a value of A" do
      @sequence.next.should == "A"
    end

    describe "after being called" do
      before do
        @sequence.next
      end

      it "should use the next value" do
        @sequence.next.should == "B"
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 2 rubygems

Version Path
factory_girl-2.0.4 spec/factory_girl/sequence_spec.rb
factory_girl-2.0.3 spec/factory_girl/sequence_spec.rb
factory_girl-2.0.2 spec/factory_girl/sequence_spec.rb
factory_girl-2.0.1 spec/factory_girl/sequence_spec.rb
factory_girl-2.0.0.rc4 spec/factory_girl/sequence_spec.rb
factory_girl-2.0.0.rc3 spec/factory_girl/sequence_spec.rb
factory_girl-2.0.0.rc2 spec/factory_girl/sequence_spec.rb
factory_girl-2.0.0.rc1 spec/factory_girl/sequence_spec.rb
factory_girl-2.0.0.beta5 spec/factory_girl/sequence_spec.rb
factory_girl-2.0.0.beta4 spec/factory_girl/sequence_spec.rb
factory_girl-2.0.0.beta3 spec/factory_girl/sequence_spec.rb
factory_girl_kibiz0r-2.0.0.beta3 spec/factory_girl/sequence_spec.rb
factory_girl_kibiz0r-2.0.0.beta2 spec/factory_girl/sequence_spec.rb