Sha256: 07574ee7038ac7228f95770f364ca8184636e6e001eb486ca95b2f3bc31914ed

Contents?: true

Size: 1.58 KB

Versions: 6

Compression:

Stored size: 1.58 KB

Contents

require "helper"

class ConfigurationTest < Minitest::Test

  include FriendlyId::Test

  def setup
    @model_class = Class.new(ActiveRecord::Base) do
      self.abstract_class = true
    end
  end

  test "should set model class on initialization" do
    config = FriendlyId::Configuration.new @model_class
    assert_equal @model_class, config.model_class
  end

  test "should set options on initialization if present" do
    config = FriendlyId::Configuration.new @model_class, :base => "hello"
    assert_equal "hello", config.base
  end

  test "should raise error if passed unrecognized option" do
    assert_raises NoMethodError do
      FriendlyId::Configuration.new @model_class, :foo => "bar"
    end
  end

  test "#use should accept a name that resolves to a module" do
    refute @model_class < FriendlyId::Slugged
    @model_class.class_eval do
      extend FriendlyId
      friendly_id :hello, :use => :slugged
    end
    assert @model_class < FriendlyId::Slugged
  end

  test "#use should accept a module" do
    my_module = Module.new
    refute @model_class < my_module
    @model_class.class_eval do
      extend FriendlyId
      friendly_id :hello, :use => my_module
    end
    assert @model_class < my_module
  end

  test "#base should optionally set a value" do
    config = FriendlyId::Configuration.new @model_class
    assert_nil config.base
    config.base = 'foo'
    assert_equal 'foo', config.base
  end

  test "#base can set the value to nil" do
    config = FriendlyId::Configuration.new @model_class
    config.base 'foo'
    config.base nil
    assert_nil config.base

  end


end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
solidus_backend-1.0.0.pre3 vendor/bundle/gems/friendly_id-5.0.5/test/configuration_test.rb
solidus_backend-1.0.0.pre2 vendor/bundle/gems/friendly_id-5.0.5/test/configuration_test.rb
solidus_backend-1.0.0.pre vendor/bundle/gems/friendly_id-5.0.5/test/configuration_test.rb
friendly_id-5.0.5 test/configuration_test.rb
friendly_id-5.1.0 test/configuration_test.rb
friendly_id-5.1.0.beta.1 test/configuration_test.rb