Sha256: fd051fbc5989f3a5051b9feef858252797be2ab1d09472100cc08b68e87a7fcb

Contents?: true

Size: 1.19 KB

Versions: 1

Compression:

Stored size: 1.19 KB

Contents

require 'spec_helper'

describe EmailValidator do

  class Tester
    include ActiveModel::Validations
    attr_accessor :email_address
    validates :email_address, email: true
  end

  let(:valid_emails) {[
    'valid@email.com',
    'valid@email.com.uk',
    'e@email.com',
    'valid+email@email.com',
    'valid-email@email.com',
    'valid_email@email.com',
    'validemail_@email.com',
    'valid.email@email.com',
    'valid.email@email.photography'
  ]}
  let(:invalid_emails) {[
    '',
    ' ',
    'invalid email@email.com',
    'invalidemail @email.com',
    'invalidemail@email..com',
    '.invalid.email@email.com',
    'invalid.email.@email.com',
    '@email.com',
    '.@email.com',
    'invalidemailemail.com',
    '@invalid.email@email.com',
    'invalid@email@email.com',
    'invalid.email@@email.com'
  ]}

  it 'validates valid email addresses' do
    tester = Tester.new
    valid_emails.each do |email|
      tester.email_address = email
      expect(tester.valid?).to be true
    end
  end

  it 'validates invalid email addresses' do
    tester = Tester.new
    invalid_emails.each do |email|
      tester.email_address = email
      expect(tester.valid?).to be false
    end
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
spree_core-3.3.0.rc1 spec/lib/spree/core/validators/email_spec.rb