Commit 488335e53677b3562741ba9692d5f976b7709402
1 parent
92e9abd2
Exists in
master
and in
29 other branches
Fixing tests after stoa merg
Showing
7 changed files
with
123 additions
and
121 deletions
Show diff stats
plugins/stoa/test/functional/stoa_plugin_controller_test.rb
... | ... | @@ -22,13 +22,17 @@ class StoaPluginControllerTest < ActionController::TestCase |
22 | 22 | t.date "dtanas" |
23 | 23 | end |
24 | 24 | ActiveRecord::Base.establish_connection(:test) |
25 | - @user = User.find_by_login('real_user') || create_user('real_user', :password => '123456', :password_confirmation => '123456') | |
25 | + env = Environment.default | |
26 | + env.enable_plugin(StoaPlugin.name) | |
27 | + env.enable('skip_new_user_email_confirmation') | |
28 | + env.save! | |
29 | + @user = create_user_full('real_user', {:password => '123456', :password_confirmation => '123456'}, {:usp_id => 9999999}) | |
26 | 30 | StoaPlugin::UspUser.create!(:codpes => 12345678, :cpf => Digest::MD5.hexdigest(SALT+'12345678'), :birth_date => '1970-01-30') |
27 | - Environment.default.enable_plugin(StoaPlugin.name) | |
28 | 31 | end |
29 | 32 | |
30 | 33 | def teardown |
31 | 34 | @db.unlink |
35 | + @user.destroy | |
32 | 36 | end |
33 | 37 | |
34 | 38 | attr_accessor :user | ... | ... |
plugins/stoa/test/unit/person.rb
... | ... | @@ -1,65 +0,0 @@ |
1 | -require File.dirname(__FILE__) + '/../../../../test/test_helper' | |
2 | - | |
3 | -class StoaPlugin::Person < ActiveSupport::TestCase | |
4 | - | |
5 | - def setup | |
6 | - @environment = Environment.default | |
7 | - @environment.enable_plugin(StoaPlugin) | |
8 | - end | |
9 | - | |
10 | - attr_reader :environment | |
11 | - | |
12 | - should 'validates uniqueness of usp_id' do | |
13 | - usp_id = 87654321 | |
14 | - fast_create(Person, :usp_id => usp_id) | |
15 | - another_person = Person.new(:usp_id => usp_id) | |
16 | - another_person.valid? | |
17 | - | |
18 | - assert another_person.errors.invalid?(:usp_id) | |
19 | - end | |
20 | - | |
21 | - should 'allow nil usp_id only if person has an invitation_code' do | |
22 | - person = Person.new(:environment => environment) | |
23 | - person.valid? | |
24 | - assert person.errors.invalid?(:usp_id) | |
25 | - | |
26 | - Task.create!(:code => 12345678) | |
27 | - person.invitation_code = 12345678 | |
28 | - person.valid? | |
29 | - | |
30 | - assert !person.errors.invalid?(:usp_id) | |
31 | - end | |
32 | - | |
33 | - should 'allow multiple nil usp_id' do | |
34 | - fast_create(Person) | |
35 | - Task.create!(:code => 87654321) | |
36 | - person = Person.new(:invitation_code => 87654321) | |
37 | - person.valid? | |
38 | - | |
39 | - assert !person.errors.invalid?(:usp_id) | |
40 | - end | |
41 | - | |
42 | - should 'not allow person to be saved with a finished invitation that is not his own' do | |
43 | - t = Task.create!(:code => 87654321, :target_id => 1) | |
44 | - t.finish | |
45 | - person = Person.new(:environment => environment, :invitation_code => 87654321) | |
46 | - person.valid? | |
47 | - | |
48 | - assert person.errors.invalid?(:usp_id) | |
49 | - end | |
50 | - | |
51 | - should 'allow person to be saved with a finished invitation if it is his own' do | |
52 | - t = Task.create!(:code => 87654321) | |
53 | - user = User.new(:login => 'some-person', :email => 'some-person@example.com', :password => 'test', :password_confirmation => 'test', :person_data => {:environment => environment, :invitation_code => 87654321}) | |
54 | - user.save! | |
55 | - person = user.person | |
56 | - t.target_id = person.id | |
57 | - t.finish | |
58 | - | |
59 | - person.valid? | |
60 | - assert !person.errors.invalid?(:usp_id) | |
61 | - end | |
62 | - | |
63 | - | |
64 | -end | |
65 | - |
... | ... | @@ -0,0 +1,65 @@ |
1 | +require File.dirname(__FILE__) + '/../../../../test/test_helper' | |
2 | + | |
3 | +class StoaPlugin::Person < ActiveSupport::TestCase | |
4 | + | |
5 | + def setup | |
6 | + @environment = Environment.default | |
7 | + @environment.enable_plugin(StoaPlugin) | |
8 | + end | |
9 | + | |
10 | + attr_reader :environment | |
11 | + | |
12 | + should 'validates uniqueness of usp_id' do | |
13 | + usp_id = 87654321 | |
14 | + fast_create(Person, :usp_id => usp_id) | |
15 | + another_person = Person.new(:usp_id => usp_id) | |
16 | + another_person.valid? | |
17 | + | |
18 | + assert another_person.errors.invalid?(:usp_id) | |
19 | + end | |
20 | + | |
21 | + should 'allow nil usp_id only if person has an invitation_code' do | |
22 | + person = Person.new(:environment => environment) | |
23 | + person.valid? | |
24 | + assert person.errors.invalid?(:usp_id) | |
25 | + | |
26 | + Task.create!(:code => 12345678) | |
27 | + person.invitation_code = 12345678 | |
28 | + person.valid? | |
29 | + | |
30 | + assert !person.errors.invalid?(:usp_id) | |
31 | + end | |
32 | + | |
33 | + should 'allow multiple nil usp_id' do | |
34 | + fast_create(Person) | |
35 | + Task.create!(:code => 87654321) | |
36 | + person = Person.new(:invitation_code => 87654321) | |
37 | + person.valid? | |
38 | + | |
39 | + assert !person.errors.invalid?(:usp_id) | |
40 | + end | |
41 | + | |
42 | + should 'not allow person to be saved with a finished invitation that is not his own' do | |
43 | + t = Task.create!(:code => 87654321, :target_id => 1) | |
44 | + t.finish | |
45 | + person = Person.new(:environment => environment, :invitation_code => 87654321) | |
46 | + person.valid? | |
47 | + | |
48 | + assert person.errors.invalid?(:usp_id) | |
49 | + end | |
50 | + | |
51 | + should 'allow person to be saved with a finished invitation if it is his own' do | |
52 | + t = Task.create!(:code => 87654321) | |
53 | + user = User.new(:login => 'some-person', :email => 'some-person@example.com', :password => 'test', :password_confirmation => 'test', :person_data => {:environment => environment, :invitation_code => 87654321}) | |
54 | + user.save! | |
55 | + person = user.person | |
56 | + t.target_id = person.id | |
57 | + t.finish | |
58 | + | |
59 | + person.valid? | |
60 | + assert !person.errors.invalid?(:usp_id) | |
61 | + end | |
62 | + | |
63 | + | |
64 | +end | |
65 | + | ... | ... |
plugins/stoa/test/unit/usp_user.rb
... | ... | @@ -1,47 +0,0 @@ |
1 | -require File.dirname(__FILE__) + '/../../../../test/test_helper' | |
2 | - | |
3 | -class StoaPlugin::UspUserTest < ActiveSupport::TestCase | |
4 | - | |
5 | - SALT=YAML::load(File.open(StoaPlugin.root_path + '/config.yml'))['salt'] | |
6 | - | |
7 | - def setup | |
8 | - @db = Tempfile.new('stoa-test') | |
9 | - configs = ActiveRecord::Base.configurations['stoa'] = {:adapter => 'sqlite3', :database => @db.path} | |
10 | - ActiveRecord::Base.establish_connection(:stoa) | |
11 | - ActiveRecord::Schema.verbose = false | |
12 | - ActiveRecord::Schema.create_table "pessoa" do |t| | |
13 | - t.integer "codpes" | |
14 | - t.text "numcpf" | |
15 | - t.date "dtanas" | |
16 | - end | |
17 | - ActiveRecord::Base.establish_connection(:test) | |
18 | - StoaPlugin::UspUser.create!(:codpes => 123456, :cpf => Digest::MD5.hexdigest(SALT+'12345678'), :birth_date => '1970-01-30') | |
19 | - end | |
20 | - | |
21 | - def teardown | |
22 | - @db.unlink | |
23 | - end | |
24 | - | |
25 | - should 'check existence of usp_id' do | |
26 | - assert StoaPlugin::UspUser.exists?(123456) | |
27 | - assert !StoaPlugin::UspUser.exists?(654321) | |
28 | - end | |
29 | - | |
30 | - should 'check if usp_id matches with a cpf' do | |
31 | - assert StoaPlugin::UspUser.matches?(123456, :cpf, 12345678) | |
32 | - assert !StoaPlugin::UspUser.matches?(123456, :cpf, 87654321) | |
33 | - assert !StoaPlugin::UspUser.matches?(654321, :cpf, 12345678) | |
34 | - end | |
35 | - | |
36 | - should 'check if usp_id matches with a birth_date' do | |
37 | - assert StoaPlugin::UspUser.matches?(123456, :birth_date, '1970-01-30') | |
38 | - assert !StoaPlugin::UspUser.matches?(123456, :birth_date, '1999-01-30') | |
39 | - assert !StoaPlugin::UspUser.matches?(654321, :birth_date, '1970-01-30') | |
40 | - end | |
41 | - | |
42 | - should 'filter leading zeroes of id codes on exists and matches' do | |
43 | - assert StoaPlugin::UspUser.exists?('0000123456') | |
44 | - assert StoaPlugin::UspUser.matches?(123456, :cpf, '00012345678') | |
45 | - end | |
46 | -end | |
47 | - |
... | ... | @@ -0,0 +1,47 @@ |
1 | +require File.dirname(__FILE__) + '/../../../../test/test_helper' | |
2 | + | |
3 | +class StoaPlugin::UspUserTest < ActiveSupport::TestCase | |
4 | + | |
5 | + SALT=YAML::load(File.open(StoaPlugin.root_path + '/config.yml'))['salt'] | |
6 | + | |
7 | + def setup | |
8 | + @db = Tempfile.new('stoa-test') | |
9 | + configs = ActiveRecord::Base.configurations['stoa'] = {:adapter => 'sqlite3', :database => @db.path} | |
10 | + ActiveRecord::Base.establish_connection(:stoa) | |
11 | + ActiveRecord::Schema.verbose = false | |
12 | + ActiveRecord::Schema.create_table "pessoa" do |t| | |
13 | + t.integer "codpes" | |
14 | + t.text "numcpf" | |
15 | + t.date "dtanas" | |
16 | + end | |
17 | + ActiveRecord::Base.establish_connection(:test) | |
18 | + StoaPlugin::UspUser.create!(:codpes => 123456, :cpf => Digest::MD5.hexdigest(SALT+'12345678'), :birth_date => '1970-01-30') | |
19 | + end | |
20 | + | |
21 | + def teardown | |
22 | + @db.unlink | |
23 | + end | |
24 | + | |
25 | + should 'check existence of usp_id' do | |
26 | + assert StoaPlugin::UspUser.exists?(123456) | |
27 | + assert !StoaPlugin::UspUser.exists?(654321) | |
28 | + end | |
29 | + | |
30 | + should 'check if usp_id matches with a cpf' do | |
31 | + assert StoaPlugin::UspUser.matches?(123456, :cpf, 12345678) | |
32 | + assert !StoaPlugin::UspUser.matches?(123456, :cpf, 87654321) | |
33 | + assert !StoaPlugin::UspUser.matches?(654321, :cpf, 12345678) | |
34 | + end | |
35 | + | |
36 | + should 'check if usp_id matches with a birth_date' do | |
37 | + assert StoaPlugin::UspUser.matches?(123456, :birth_date, '1970-01-30') | |
38 | + assert !StoaPlugin::UspUser.matches?(123456, :birth_date, '1999-01-30') | |
39 | + assert !StoaPlugin::UspUser.matches?(654321, :birth_date, '1970-01-30') | |
40 | + end | |
41 | + | |
42 | + should 'filter leading zeroes of id codes on exists and matches' do | |
43 | + assert StoaPlugin::UspUser.exists?('0000123456') | |
44 | + assert StoaPlugin::UspUser.matches?(123456, :cpf, '00012345678') | |
45 | + end | |
46 | +end | |
47 | + | ... | ... |
test/factories.rb
... | ... | @@ -80,8 +80,8 @@ module Noosfero::Factory |
80 | 80 | :password_confirmation => name.underscore |
81 | 81 | }.merge(options) |
82 | 82 | user = User.new(data) |
83 | + user.person = Person.new(person_options) | |
83 | 84 | user.save! |
84 | - user.person.update_attributes!(person_data.merge(person_options)) | |
85 | 85 | user |
86 | 86 | end |
87 | 87 | |
... | ... | @@ -114,7 +114,6 @@ module Noosfero::Factory |
114 | 114 | fast_update(person, {:home_page_id => homepage.id}) |
115 | 115 | box = fast_insert(Box, { :owner_type => "Profile", :owner_id => person.id, :position => 1}) |
116 | 116 | block = fast_insert(Block, { :box_id => box.id, :type => 'MainBlock', :position => 0}) |
117 | - user.activate | |
118 | 117 | user |
119 | 118 | end |
120 | 119 | ... | ... |
test/functional/account_controller_test.rb
... | ... | @@ -622,14 +622,14 @@ class AccountControllerTest < ActionController::TestCase |
622 | 622 | @controller.expects(:environment).returns(env).at_least_once |
623 | 623 | profile = create_user('mylogin').person |
624 | 624 | get :check_url, :identifier => 'mylogin' |
625 | - assert_equal 'available', assigns(:status_class) | |
625 | + assert_equal 'validated', assigns(:status_class) | |
626 | 626 | end |
627 | 627 | |
628 | 628 | should 'check if url is not available on environment' do |
629 | 629 | @controller.expects(:environment).returns(Environment.default).at_least_once |
630 | 630 | profile = create_user('mylogin').person |
631 | 631 | get :check_url, :identifier => 'mylogin' |
632 | - assert_equal 'unavailable', assigns(:status_class) | |
632 | + assert_equal 'invalid', assigns(:status_class) | |
633 | 633 | end |
634 | 634 | |
635 | 635 | should 'check if e-mail is available on environment' do |
... | ... | @@ -637,7 +637,7 @@ class AccountControllerTest < ActionController::TestCase |
637 | 637 | @controller.expects(:environment).returns(env).at_least_once |
638 | 638 | profile = create_user('mylogin', :email => 'mylogin@noosfero.org', :environment_id => fast_create(Environment).id) |
639 | 639 | get :check_email, :address => 'mylogin@noosfero.org' |
640 | - assert_equal 'available', assigns(:status_class) | |
640 | + assert_equal 'validated', assigns(:status_class) | |
641 | 641 | end |
642 | 642 | |
643 | 643 | should 'check if e-mail is not available on environment' do |
... | ... | @@ -645,7 +645,7 @@ class AccountControllerTest < ActionController::TestCase |
645 | 645 | @controller.expects(:environment).returns(env).at_least_once |
646 | 646 | profile = create_user('mylogin', :email => 'mylogin@noosfero.org', :environment_id => env) |
647 | 647 | get :check_email, :address => 'mylogin@noosfero.org' |
648 | - assert_equal 'unavailable', assigns(:status_class) | |
648 | + assert_equal 'invalid', assigns(:status_class) | |
649 | 649 | end |
650 | 650 | |
651 | 651 | should 'merge user data with extra stuff from plugins' do |
... | ... | @@ -766,7 +766,6 @@ class AccountControllerTest < ActionController::TestCase |
766 | 766 | |
767 | 767 | assert_tag :tag => 'strong', :content => 'Plugin1 text' |
768 | 768 | assert_tag :tag => 'strong', :content => 'Plugin2 text' |
769 | ->>>>>>> stoa-full-invitation-and-signup | |
770 | 769 | end |
771 | 770 | |
772 | 771 | protected | ... | ... |