Sha256: 554d82c162cef9bc540ffae45ae3948150a71fdbb91f834c558e9b3bccd27e06

Contents?: true

Size: 1.48 KB

Versions: 26

Compression:

Stored size: 1.48 KB

Contents

require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))

describe Factory::Sequence do
  describe "a sequence" do
    before do
      @sequence = Factory::Sequence.new {|n| "=#{n}" }
    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 "defining a sequence" do
    before do
      @sequence = "sequence"
      @name     = :count
      stub(Factory::Sequence).new { @sequence }
    end

    it "should create a new sequence" do
      mock(Factory::Sequence).new() { @sequence }
      Factory.sequence(@name)
    end

    it "should use the supplied block as the sequence generator" do
      stub(Factory::Sequence).new.yields(1)
      yielded = false
      Factory.sequence(@name) {|n| yielded = true }
      (yielded).should be
    end
  end

  describe "after defining a sequence" do
    before do
      @sequence = "sequence"
      @name     = :test
      @value    = '1 2 5'

      stub(@sequence).next { @value }
      stub(Factory::Sequence).new { @sequence }

      Factory.sequence(@name) {}
    end

    it "should call next on the sequence when sent next" do
      mock(@sequence).next

      Factory.next(@name)
    end

    it "should return the value from the sequence" do
      Factory.next(@name).should == @value
    end
  end
end

Version data entries

26 entries across 26 versions & 14 rubygems

Version Path
BrettRasmussen-factory_girl-1.2.2 spec/factory_girl/sequence_spec.rb
BrettRasmussen-factory_girl-1.2.3 spec/factory_girl/sequence_spec.rb
agibralter-factory_girl-1.2.1 spec/factory_girl/sequence_spec.rb
lacomartincik-factory_girl-1.2.1.1 spec/factory_girl/sequence_spec.rb
qrush-factory_girl-1.2.1.1 spec/factory_girl/sequence_spec.rb
thoughtbot-factory_girl-1.2.2 spec/factory_girl/sequence_spec.rb
ttilley-factory_girl-1.2.2.1 spec/factory_girl/sequence_spec.rb
ttilley-factory_girl-1.2.2.2 spec/factory_girl/sequence_spec.rb
ttilley-factory_girl-1.2.2 spec/factory_girl/sequence_spec.rb
vitalish-factory_girl-1.2.10 spec/factory_girl/sequence_spec.rb
vitalish-factory_girl-1.2.9 spec/factory_girl/sequence_spec.rb
vitalish-factory_girl-1.2.8 spec/factory_girl/sequence_spec.rb
vitalish-factory_girl-1.2.7 spec/factory_girl/sequence_spec.rb
vitalish-factory_girl-1.2.6 spec/factory_girl/sequence_spec.rb
lockbox_middleware-1.2.1 vendor/gems/factory_girl-1.2.3/spec/factory_girl/sequence_spec.rb
malvestuto_factory_girl-1.2.5 spec/factory_girl/sequence_spec.rb
factory_girl-1.2.4 spec/factory_girl/sequence_spec.rb
jeffrafter-factory_girl-1.2.3 spec/factory_girl/sequence_spec.rb
masa-iwasaki-factory_girl-1.2.3.2 spec/factory_girl/sequence_spec.rb
masa-iwasaki-factory_girl-1.2.3.1 spec/factory_girl/sequence_spec.rb