Commit c663018a5d541d58a6aa8d4e3e22d711570cc5ff

Authored by AntonioTerceiro
1 parent f85eeef5

ActionItem78: changing change_password_data to just change_password



git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@626 3f533792-8f58-4932-b0fe-aaf55b0a4547
app/models/change_password.rb 0 → 100644
@@ -0,0 +1,34 @@ @@ -0,0 +1,34 @@
  1 +class ChangePassword < Task
  2 +
  3 + attr_accessor :login, :email
  4 +
  5 + validates_presence_of :login, :email
  6 + validates_format_of :email, :with => Noosfero::Constants::EMAIL_FORMAT, :if => (lambda { |obj| !obj.email.blank? })
  7 +
  8 + #
  9 + validates_each :login do |data,attr,value|
  10 + unless data.login.blank?
  11 + user = User.find_by_login(data.login)
  12 + if user.nil?
  13 + data.errors.add(:login, _('%{fn} is not a valid username.'))
  14 + else
  15 + if user.email != data.email
  16 + data.errors.add(:email, _('%{fn} is invalid.'))
  17 + end
  18 + end
  19 + end
  20 + end
  21 +
  22 + def initialize(hash = nil)
  23 + hash ||= {}
  24 + self.login = hash[:login] || hash['login']
  25 + self.email = hash[:email] || hash['email']
  26 + end
  27 +
  28 + def confirm!
  29 + raise ActiveRecord::RecordInvalid unless self.valid?
  30 + user = User.find_by_login(self.login)
  31 + #ChangePassword.create!(:user_id => user.id)
  32 + end
  33 +
  34 +end
app/models/change_password_data.rb
@@ -1,34 +0,0 @@ @@ -1,34 +0,0 @@
1 -class ChangePasswordData < Validator  
2 -  
3 - attr_accessor :login, :email  
4 -  
5 - validates_presence_of :login, :email  
6 - validates_format_of :email, :with => Noosfero::Constants::EMAIL_FORMAT, :if => (lambda { |obj| !obj.email.blank? })  
7 -  
8 - #  
9 - validates_each :login do |data,attr,value|  
10 - unless data.login.blank?  
11 - user = User.find_by_login(data.login)  
12 - if user.nil?  
13 - data.errors.add(:login, _('%{fn} is not a valid username.'))  
14 - else  
15 - if user.email != data.email  
16 - data.errors.add(:email, _('%{fn} is invalid.'))  
17 - end  
18 - end  
19 - end  
20 - end  
21 -  
22 - def initialize(hash = nil)  
23 - hash ||= {}  
24 - self.login = hash[:login] || hash['login']  
25 - self.email = hash[:email] || hash['email']  
26 - end  
27 -  
28 - def confirm!  
29 - raise ActiveRecord::RecordInvalid unless self.valid?  
30 - user = User.find_by_login(self.login)  
31 - #ChangePassword.create!(:user_id => user.id)  
32 - end  
33 -  
34 -end  
test/unit/change_password_data_test.rb
@@ -1,55 +0,0 @@ @@ -1,55 +0,0 @@
1 -require File.dirname(__FILE__) + '/../test_helper'  
2 -  
3 -class ChangePasswordDataTest < Test::Unit::TestCase  
4 -  
5 - should 'validate' do  
6 - data = ChangePasswordData.new  
7 - assert !data.valid?  
8 - end  
9 -  
10 - should 'refuse invalid username' do  
11 - User.destroy_all  
12 -  
13 - data = ChangePasswordData.new  
14 - data.login = 'unexisting'  
15 - data.valid?  
16 - assert data.errors.invalid?(:login)  
17 - end  
18 -  
19 - should 'require a valid username' do  
20 - User.destroy_all  
21 - User.create!(:login => 'testuser', :password => 'test', :password_confirmation => 'test', :email => 'test@example.com')  
22 -  
23 - data = ChangePasswordData.new  
24 - data.login = 'testuser'  
25 - data.valid?  
26 - assert !data.errors.invalid?(:login)  
27 - end  
28 -  
29 - should 'refuse incorrect e-mail address' do  
30 - User.destroy_all  
31 - User.create!(:login => 'testuser', :password => 'test', :password_confirmation => 'test', :email => 'test@example.com')  
32 -  
33 - data = ChangePasswordData.new  
34 - data.login = 'testuser'  
35 - data.email = 'wrong@example.com'  
36 -  
37 - data.valid?  
38 - assert !data.errors.invalid?(:login)  
39 - assert data.errors.invalid?(:email)  
40 - end  
41 -  
42 - should 'require the correct e-mail address' do  
43 - User.destroy_all  
44 - User.create!(:login => 'testuser', :password => 'test', :password_confirmation => 'test', :email => 'test@example.com')  
45 -  
46 - data = ChangePasswordData.new  
47 - data.login = 'testuser'  
48 - data.email = 'test@example.com'  
49 -  
50 - data.valid?  
51 - assert !data.errors.invalid?(:login)  
52 - assert !data.errors.invalid?(:email)  
53 - end  
54 -  
55 -end  
test/unit/change_password_test.rb 0 → 100644
@@ -0,0 +1,55 @@ @@ -0,0 +1,55 @@
  1 +require File.dirname(__FILE__) + '/../test_helper'
  2 +
  3 +class ChangePasswordTest < Test::Unit::TestCase
  4 +
  5 + should 'validate' do
  6 + data = ChangePassword.new
  7 + assert !data.valid?
  8 + end
  9 +
  10 + should 'refuse invalid username' do
  11 + User.destroy_all
  12 +
  13 + data = ChangePassword.new
  14 + data.login = 'unexisting'
  15 + data.valid?
  16 + assert data.errors.invalid?(:login)
  17 + end
  18 +
  19 + should 'require a valid username' do
  20 + User.destroy_all
  21 + User.create!(:login => 'testuser', :password => 'test', :password_confirmation => 'test', :email => 'test@example.com')
  22 +
  23 + data = ChangePassword.new
  24 + data.login = 'testuser'
  25 + data.valid?
  26 + assert !data.errors.invalid?(:login)
  27 + end
  28 +
  29 + should 'refuse incorrect e-mail address' do
  30 + User.destroy_all
  31 + User.create!(:login => 'testuser', :password => 'test', :password_confirmation => 'test', :email => 'test@example.com')
  32 +
  33 + data = ChangePassword.new
  34 + data.login = 'testuser'
  35 + data.email = 'wrong@example.com'
  36 +
  37 + data.valid?
  38 + assert !data.errors.invalid?(:login)
  39 + assert data.errors.invalid?(:email)
  40 + end
  41 +
  42 + should 'require the correct e-mail address' do
  43 + User.destroy_all
  44 + User.create!(:login => 'testuser', :password => 'test', :password_confirmation => 'test', :email => 'test@example.com')
  45 +
  46 + data = ChangePassword.new
  47 + data.login = 'testuser'
  48 + data.email = 'test@example.com'
  49 +
  50 + data.valid?
  51 + assert !data.errors.invalid?(:login)
  52 + assert !data.errors.invalid?(:email)
  53 + end
  54 +
  55 +end