Sha256: 35e12283809b97a7facf5a99cd95697b62441fb4a8ef56c2a2e335e1108bbd6d

Contents?: true

Size: 1.38 KB

Versions: 109

Compression:

Stored size: 1.38 KB

Contents

require "spec_helper"

describe FactoryGirl::DisallowsDuplicatesRegistry do
  let(:registry) { stub("registry", name: "Great thing", register: true, find: true, each: true, clear: true, registered?: true, :[] => true) }

  subject { FactoryGirl::DisallowsDuplicatesRegistry.new(registry) }

  it "delegates #each to the registry" do
    block = -> {}
    subject.each(block)
    registry.should have_received(:each).with(block)
  end

  it "delegates #registered? to the registry" do
    subject.registered?(:great_name)
    registry.should have_received(:registered?).with(:great_name)
  end

  it "delegates #clear to the registry" do
    subject.clear
    registry.should have_received(:clear)
  end

  it "delegates #find to the registry" do
    subject.find(:awesome)
    registry.should have_received(:find).with(:awesome)
  end

  it "delegates #[] to the registry" do
    subject[:awesome]
    registry.should have_received(:[]).with(:awesome)
  end

  it "delegates #register to the registry when not registered" do
    registry.stubs(registered?: false)
    subject.register(:awesome, {})
    registry.should have_received(:register).with(:awesome, {})
  end

  it "raises when attempting to #register a previously registered strategy" do
    expect { subject.register(:same_name, {}) }.
      to raise_error(FactoryGirl::DuplicateDefinitionError, "Great thing already registered: same_name")
  end
end

Version data entries

109 entries across 58 versions & 5 rubygems

Version Path
classiccms-0.7.5 vendor/bundle/gems/factory_girl-3.2.0/spec/factory_girl/disallows_duplicates_registry_spec.rb
classiccms-0.7.5 vendor/bundle/gems/factory_girl-3.3.0/spec/factory_girl/disallows_duplicates_registry_spec.rb
classiccms-0.7.4 vendor/bundle/gems/factory_girl-3.2.0/spec/factory_girl/disallows_duplicates_registry_spec.rb
classiccms-0.7.4 vendor/bundle/gems/factory_girl-3.3.0/spec/factory_girl/disallows_duplicates_registry_spec.rb
classiccms-0.7.3 vendor/bundle/gems/factory_girl-3.3.0/spec/factory_girl/disallows_duplicates_registry_spec.rb
classiccms-0.7.3 vendor/bundle/gems/factory_girl-3.2.0/spec/factory_girl/disallows_duplicates_registry_spec.rb
classiccms-0.7.2 vendor/bundle/gems/factory_girl-3.2.0/spec/factory_girl/disallows_duplicates_registry_spec.rb
classiccms-0.7.2 vendor/bundle/gems/factory_girl-3.3.0/spec/factory_girl/disallows_duplicates_registry_spec.rb
classiccms-0.7.1 vendor/bundle/gems/factory_girl-3.2.0/spec/factory_girl/disallows_duplicates_registry_spec.rb
classiccms-0.7.1 vendor/bundle/gems/factory_girl-3.3.0/spec/factory_girl/disallows_duplicates_registry_spec.rb
classiccms-0.7.0 vendor/bundle/gems/factory_girl-3.2.0/spec/factory_girl/disallows_duplicates_registry_spec.rb
classiccms-0.7.0 vendor/bundle/gems/factory_girl-3.3.0/spec/factory_girl/disallows_duplicates_registry_spec.rb
classiccms-0.6.9 vendor/bundle/gems/factory_girl-3.2.0/spec/factory_girl/disallows_duplicates_registry_spec.rb
classiccms-0.6.9 vendor/bundle/gems/factory_girl-3.3.0/spec/factory_girl/disallows_duplicates_registry_spec.rb
classiccms-0.6.8 vendor/bundle/gems/factory_girl-3.2.0/spec/factory_girl/disallows_duplicates_registry_spec.rb
classiccms-0.6.8 vendor/bundle/gems/factory_girl-3.3.0/spec/factory_girl/disallows_duplicates_registry_spec.rb
classiccms-0.6.7 vendor/bundle/gems/factory_girl-3.2.0/spec/factory_girl/disallows_duplicates_registry_spec.rb
classiccms-0.6.7 vendor/bundle/gems/factory_girl-3.3.0/spec/factory_girl/disallows_duplicates_registry_spec.rb
classiccms-0.6.6 vendor/bundle/gems/factory_girl-3.2.0/spec/factory_girl/disallows_duplicates_registry_spec.rb
classiccms-0.6.6 vendor/bundle/gems/factory_girl-3.3.0/spec/factory_girl/disallows_duplicates_registry_spec.rb