Sha256: 5de2f5035844a7efe4e341f24abee9e0ba0d7e8f247a35e0e18b5689268fff5f

Contents?: true

Size: 1.18 KB

Versions: 5

Compression:

Stored size: 1.18 KB

Contents

# frozen_string_literal: true

require 'rails_helper'
require 'spree/core/validators/email'

RSpec.describe Spree::EmailValidator do
  class Tester
    include ActiveModel::Validations
    attr_accessor :email_address
    validates :email_address, 'spree/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',
      'valid.email@email.com'
    ]
  }
  let(:invalid_emails) {
    [
      'invalid email@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

5 entries across 5 versions & 1 rubygems

Version Path
solidus_core-2.10.5 spec/lib/spree/core/validators/email_spec.rb
solidus_core-2.10.3 spec/lib/spree/core/validators/email_spec.rb
solidus_core-2.10.2 spec/lib/spree/core/validators/email_spec.rb
solidus_core-2.10.1 spec/lib/spree/core/validators/email_spec.rb
solidus_core-2.10.0 spec/lib/spree/core/validators/email_spec.rb