Sha256: 0238c0fd85d418b296af84c9411081018d4b61e98728e64521d936ca2613d40d

Contents?: true

Size: 1.27 KB

Versions: 5

Compression:

Stored size: 1.27 KB

Contents

require 'test_helper.rb'

describe "Email Validation" do
  it "accepts valid emails" do
    subject = build_email_record :email => 'franck@verrot.fr'
    subject.valid?.must_equal true
    subject.errors.size.must_equal 0
  end

  it "accepts complete emails" do
    subject = build_email_record :email => 'Mikel Lindsaar (My email address) <mikel@test.lindsaar.net>'
    subject.valid?.must_equal true
    subject.errors.size.must_equal 0
  end

  describe "for invalid emails" do
    it "rejects invalid emails" do
      subject = build_email_record :email => 'franck.fr'
      subject.valid?.must_equal false
      subject.errors.size.must_equal 1
    end

    it 'rejects local emails' do
      subject = build_email_record :email => 'franck.fr'
      subject.email = 'franck'
      subject.valid?.must_equal false
      subject.errors.size.must_equal 1
    end

    it "generates an error message of type invalid" do
      subject = build_email_record :email => 'franck.fr'
      subject.valid?.must_equal false
      subject.errors[:email].include?(subject.errors.generate_message(:email, :invalid)).must_equal true
    end
  end

  def build_email_record(attrs = {})
    TestRecord.reset_callbacks(:validate)
    TestRecord.validates :email, :email => true
    TestRecord.new attrs
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
activevalidators-1.8.1 test/validations/email_test.rb
activevalidators-1.8.0 test/validations/email_test.rb
activevalidators-1.7.1 test/validations/email_test.rb
activevalidators-1.7.0 test/validations/email_test.rb
activevalidators-1.6.0 test/validations/email_test.rb