Sha256: 936e0748dd2831ed46814753bd9338adbd113f24d041f5beb1c1b035f4878450

Contents?: true

Size: 1.04 KB

Versions: 6

Compression:

Stored size: 1.04 KB

Contents

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

describe "Slug Validation" do
  before(:each) do
    TestRecord.reset_callbacks(:validate)
    TestRecord.validates :slug, :slug => true
  end

  subject { TestRecord.new }

  it "accepts valid slugs" do
    subject.slug = '1234567890-foo-bar-bar'
    subject.should be_valid
    subject.should have(0).errors
  end

  describe "for invalid slugs" do
    before :each do
      subject.slug = '@#$%^'
    end

    it "rejects invalid slugs" do
      subject.should_not be_valid
      subject.should have(1).error
    end

    it "generates an error message of type invalid" do
      subject.should_not be_valid
      subject.errors[:slug].should include subject.errors.generate_message(:slug, :invalid)
    end
  end

  describe "for empty slugs" do
    before :each do
      subject.slug = nil
    end

    it "generates an error message of type blank" do
      subject.should_not be_valid
      subject.errors[:slug].should include subject.errors.generate_message(:slug, :blank)
    end
  end

end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
activevalidators-1.5.1 spec/validations/slug_spec.rb
activevalidators-1.5.0 spec/validations/slug_spec.rb
activevalidators-1.4.0 spec/validations/slug_spec.rb
activevalidators-1.3.0 spec/validations/slug_spec.rb
activevalidators-1.2.4 spec/validations/slug_spec.rb
activevalidators-1.2.3 spec/validations/slug_spec.rb