Sha256: d875d8ced5dac97e41a9d5142a571a8e1bb5238e3fafe661cb67324492b44811

Contents?: true

Size: 1 KB

Versions: 8

Compression:

Stored size: 1 KB

Contents

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

describe "Respond To Validation" do
  before(:each) do
    TestRecord.reset_callbacks(:validate)
    TestRecord.validates :responder, :respond_to => { :call => true, :if => :local_condition }, :if => :global_condition
  end
  
  subject { TestRecord.new }

  it "respond_to?" do
    subject.responder = lambda {}
    subject.global_condition = true
    subject.local_condition = true

    subject.should be_valid
    subject.should have(0).errors
  end

  describe "when does not respond_to?" do
    before :each do
      subject.responder        = 42
      subject.global_condition = true
      subject.local_condition  = true
    end

    it "rejects the responder" 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[:responder].should include subject.errors.generate_message(:responder, :invalid)
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
activevalidators-1.5.1 spec/validations/respond_to_spec.rb
activevalidators-1.5.0 spec/validations/respond_to_spec.rb
activevalidators-1.4.0 spec/validations/respond_to_spec.rb
activevalidators-1.3.0 spec/validations/respond_to_spec.rb
activevalidators-1.2.4 spec/validations/respond_to_spec.rb
activevalidators-1.2.3 spec/validations/respond_to_spec.rb
activevalidators-1.2.2 spec/validations/respond_to_spec.rb
activevalidators-1.2.1 spec/validations/respond_to_spec.rb