Sha256: ecfc592981342d077920068dc6b4dbb628462187f2f8e334d444c2a08f042281

Contents?: true

Size: 1.11 KB

Versions: 3

Compression:

Stored size: 1.11 KB

Contents

require 'minitest_helper'

class TestFakeEmailValidator < Minitest::Test

  @@user_class = Class.new do
    include ActiveModel::Validations

    attr_accessor :email

    validates :email, fake_email: true
  end

  def setup
    @user = @@user_class.new
  end

  def test_incorrect_email
    @user.email = 'test@b@d.com'

    assert !@user.valid?
    assert_equal 'is invalid format', @user.errors[:email].first
  end

  def test_fake_email
    @user.email = 'test@mailinator.com'

    assert !@user.valid?
    assert_equal 'is fake domain', @user.errors[:email].first
  end

  def test_fake_email_with_third_sub_domain
    @user.email = 'test@gsrv.co.uk'

    assert !@user.valid?
    assert_equal 'is fake domain', @user.errors[:email].first
  end

  def test_fake_email_with_fake_sub_domain
    @user.email = 'test@a.10mail.org'

    assert !@user.valid?
    assert_equal 'is fake domain', @user.errors[:email].first
  end

  def test_real_email
    @user.email = 'test@gmail.com'

    assert @user.valid?
  end

  def test_real_email_with_third_sub_domain
    @user.email = 'test@mail.co.uk'

    assert @user.valid?
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
fake_email_validator-1.0.3 test/test_fake_email_validator.rb
fake_email_validator-1.0.2 test/test_fake_email_validator.rb
fake_email_validator-1.0.1 test/test_fake_email_validator.rb