]> git.openstreetmap.org Git - rails.git/blobdiff - vendor/plugins/validates_email_format_of/test/validates_email_format_of_test.rb
Add email validation plugin from:
[rails.git] / vendor / plugins / validates_email_format_of / test / validates_email_format_of_test.rb
diff --git a/vendor/plugins/validates_email_format_of/test/validates_email_format_of_test.rb b/vendor/plugins/validates_email_format_of/test/validates_email_format_of_test.rb
new file mode 100644 (file)
index 0000000..4b048c1
--- /dev/null
@@ -0,0 +1,37 @@
+require File.dirname(__FILE__) + '/test_helper'
+require File.dirname(__FILE__) + '/../shoulda_macros/validates_email_format_of'
+
+class User < ActiveRecord::Base
+  validates_email_format_of :email,
+    :on        => :create,
+    :message   => 'fails with custom message',
+    :allow_nil => true
+end
+
+class ValidatesEmailFormatOfTest < Test::Unit::TestCase
+  should_validate_email_format_of_klass(User, :email)
+
+  context 'An invalid user on update' do
+    setup do
+      @user = User.new(:email => 'dcroak@thoughtbot.com')
+      assert @user.save
+      assert @user.update_attribute(:email, '..dcroak@thoughtbot.com')
+    end
+
+    should 'pass validation' do
+      assert @user.valid?
+      assert @user.save
+      assert_nil @user.errors.on(:email)
+    end
+  end
+
+  context 'A user with a nil email' do
+    setup { @user = User.new(:email => nil) }
+
+    should 'pass validation' do
+      assert @user.valid?
+      assert @user.save
+      assert_nil @user.errors.on(:email)
+    end
+  end
+end