Sha256: 3651861303d836182082e7fefc2732e32fc5e34414844c80f96b3a131ff5efda

Contents?: true

Size: 1.17 KB

Versions: 13

Compression:

Stored size: 1.17 KB

Contents

require 'test_helper'
ActiveValidators.activate(:slug)

describe "Slug Validation" do
  def build_slug_validation attrs = {}
    TestRecord.reset_callbacks(:validate)
    TestRecord.validates :slug, :slug => true
    TestRecord.new attrs
  end

  it "accepts valid slugs" do
    subject = build_slug_validation
    subject.slug = '1234567890-foo-bar-bar'
    subject.valid?.must_equal true
    subject.errors.size.must_equal 0
  end

  describe "for invalid slugs" do
    it "rejects invalid slugs" do
      subject = build_slug_validation :slug => '@#$%^'
      subject.valid?.must_equal false
      subject.errors.size.must_equal 1
    end

    it "generates an error message of type invalid" do
      subject = build_slug_validation :slug => '@#$%^'
      subject.valid?.must_equal false
      subject.errors[:slug].include?(subject.errors.generate_message(:slug, :invalid)).must_equal true
    end
  end

  describe "for empty slugs" do
    it "generates an error message of type blank" do
      subject = build_slug_validation :slug => nil
      subject.valid?.must_equal false
      subject.errors[:slug].include?(subject.errors.generate_message(:slug, :blank)).must_equal true
    end
  end

end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
activevalidators-5.1.0 test/validations/slug_test.rb
activevalidators-5.0.1 test/validations/slug_test.rb
activevalidators-5.0.0 test/validations/slug_test.rb
activevalidators-4.1.0 test/validations/slug_test.rb
activevalidators-4.0.3 test/validations/slug_test.rb
activevalidators-4.0.2 test/validations/slug_test.rb
activevalidators-4.0.1 test/validations/slug_test.rb
activevalidators-4.0.0 test/validations/slug_test.rb
activevalidators-3.3.0 test/validations/slug_test.rb
activevalidators-3.2.0 test/validations/slug_test.rb
activevalidators-3.1.2 test/validations/slug_test.rb
activevalidators-3.1.1 test/validations/slug_test.rb
activevalidators-3.0.0 test/validations/slug_test.rb