Sha256: 63a53dd9133777a1abb6bbbbd21954a8f89c4cfb7d1d193d441db2358306c899

Contents?: true

Size: 1.44 KB

Versions: 1

Compression:

Stored size: 1.44 KB

Contents

require File.expand_path('../test_helper', __FILE__)

class EmailCredentialTest < ActiveSupport::TestCase  
  def setup
    @credential = Credentials::Email.new :email => 'dvdjohn@mit.edu',
        :user => users(:bill)
  end
  
  test 'setup' do
    assert @credential.valid?
  end
  
  test 'verified required' do
    @credential.verified = ''
    assert !@credential.valid?
  end
  
  test 'user presence' do
    @credential.user = nil
    assert !@credential.valid?
  end

  test 'email presence' do
    @credential.email = nil
    assert !@credential.valid?
  end
  
  test 'email length' do
    @credential.email = 'abcde' * 25 + '@mit.edu'
    assert !@credential.valid?, 'Overly long email'
  end
  
  test 'email format' do
    ['cos tan@gmail.com', 'costan@x@mit.edu'].each do |email|
      @credential.email = email
      assert !@credential.valid?, "Bad email format - #{email}"
    end    
  end
  
  test 'email uniqueness' do
    @credential.email = credentials(:john_email).email
    assert !@credential.valid?
  end
  
  test 'User#email_credential' do
    assert_equal credentials(:john_email), users(:john).email_credential
    assert_equal credentials(:jane_email), users(:jane).email_credential
    assert_nil users(:bill).email_credential
  end

  test 'User#email' do
    assert_equal credentials(:john_email).email, users(:john).email
    assert_equal credentials(:jane_email).email, users(:jane).email
    assert_nil users(:bill).email
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
authpwn_rails-0.10.1 test/email_credential_test.rb