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 @@
  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   -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   -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 @@
  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
... ...