require File.dirname(__FILE__) + '/../../../../test/test_helper' require File.dirname(__FILE__) + '/../helpers/plugin_test_helper' class SoftwareCommunitiesPluginUserTest < ActiveSupport::TestCase include PluginTestHelper should 'not save user whose both email and secondary email are the same' do user = fast_create(User) user.email = "test@email.com" user.secondary_email = "test@email.com" assert !user.save end should 'not save user whose email and secondary email have been taken' do user1 = create_default_user user2 = fast_create(User) user2.email = "primary@email.com" user2.secondary_email = "secondary@email.com" assert !user2.save end should 'not save user whose email has already been used' do user1 = create_default_user user2 = fast_create(User) user2.email = "primary@email.com" user2.secondary_email = "noosfero@email.com" assert !user2.save end should 'not save user whose email has been taken another in users secondary email' do user1 = create_default_user user2 = fast_create(User) user2.login = "another-login" user2.email = "secondary@email.com" user2.secondary_email = "noosfero@email.com" assert !user2.save end should 'not save user whose secondary email has been taken used in another users email' do user1 = create_default_user user2 = fast_create(User) user2.login = "another-login" user2.email = "noosfero@email.com" user2.secondary_email = "primary@email.com" assert !user2.save end should 'not save user whose secondary email has already been used in another users secondary email' do user1 = create_default_user user2 = fast_create(User) user2.login = "another-login" user2.email = "noosfero@email.com" user2.secondary_email = "secondary@email.com" assert !user2.save end should 'not save user whose secondary email is in the wrong format' do user = fast_create(User) user.email = "test@email.com" user.secondary_email = "notarightformat.com" assert !user.save user.secondary_email = "not@arightformatcom" assert !user.save end should 'save more than one user without secondary email' do user = fast_create(User) user.email = "test@email.com" user.secondary_email = "" user.save user2 = fast_create(User) user2.email = "test2@email.com" user2.secondary_email = "" assert user2.save end should 'return an error if secondary email is governmental and primary is not' do invalid_msg = "The governamental email must be the primary one." user = fast_create(User) user.email = "test@email.com" user.secondary_email = "test@gov.br" assert !user.save assert user.errors.full_messages.include?(invalid_msg) end should 'have institution if email is governmental' do user = fast_create(User) user.email = "testtest@gov.br" user.institutions = [] assert !user.save, "this should not save" gov_power = GovernmentalPower.create(:name=>"Some Gov Power") gov_sphere = GovernmentalSphere.create(:name=>"Some Gov Sphere") juridical_nature = JuridicalNature.create(:name => "Autarquia") institution = create_public_institution( "Ministerio Publico da Uniao", "MPU", "BR", "DF", "Gama", juridical_nature, gov_power, gov_sphere, "44.555.666/7777-88" ) institution.save! user.institutions << institution assert user.save, "this should save" end private def create_default_user user = fast_create(User) user.login = "a-login" user.email = "primary@email.com" user.secondary_email = "secondary@email.com" user.save return user end end