Commit 488335e53677b3562741ba9692d5f976b7709402
1 parent
92e9abd2
Exists in
master
and in
23 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 | ... | ... |