diff --git a/vms/event/tests/test_shiftSignUp.py b/vms/event/tests/test_shiftSignUp.py index e7da5d6..f974baf 100644 --- a/vms/event/tests/test_shiftSignUp.py +++ b/vms/event/tests/test_shiftSignUp.py @@ -19,8 +19,7 @@ class ShiftSignUp(LiveServerTestCase): def setUp(self): volunteer_user = User.objects.create_user( username = 'volunteer', - password = 'volunteer', - email = 'volunteer@volunteer.com') + password = 'volunteer') Volunteer.objects.create( user = volunteer_user, @@ -29,6 +28,7 @@ def setUp(self): state = 'state', country = 'country', phone_number = '9999999999', + email = 'volunteer@volunteer.com', unlisted_organization = 'organization') # create an org prior to registration. Bug in Code @@ -59,19 +59,19 @@ def login(self): def register_event_utility(self): Event.objects.create( name = 'event', - start_date = '2016-06-15', - end_date = '2016-06-16') + start_date = '2016-05-10', + end_date = '2018-06-16') def register_job_utility(self): Job.objects.create( name = 'job', - start_date = '2016-06-15', - end_date = '2016-06-15', + start_date = '2016-05-10', + end_date = '2017-06-15', event = Event.objects.get(name = 'event')) def register_shift_utility(self): Shift.objects.create( - date = '2016-06-15', + date = '2017-06-15', start_time = '09:00', end_time = '15:00', max_volunteers ='6', @@ -130,7 +130,7 @@ def test_signup_shifts_with_registered_shifts(self): 'job') self.assertEqual(self.driver.find_element_by_xpath( '//table//tbody//tr[1]//td[2]').text, - 'June 15, 2016') + 'June 15, 2017') self.assertEqual(self.driver.find_element_by_xpath( '//table//tbody//tr[1]//td[3]').text, '9 a.m.') @@ -215,3 +215,120 @@ def test_empty_events(self): self.assertEqual(self.driver.find_element_by_xpath( '//table//tbody//tr[1]//td[4]').text, 'View Jobs') + def test_shift_sign_up_with_outdated_shifts(self): + self.login() + + self.register_event_utility() + self.register_job_utility() + + # create outdated shift + Shift.objects.create( + date = '2016-05-11', + start_time = '09:00', + end_time = '15:00', + max_volunteers ='6', + job = Job.objects.get(name = 'job')) + + # open Shift Sign Up + self.driver.find_element_by_link_text('Shift Sign Up').click() + + # on event page + self.assertEqual(self.driver.find_element_by_xpath('//table//tbody//tr[1]//td[4]').text, 'View Jobs') + self.driver.find_element_by_xpath('//table//tbody//tr[1]//td[4]//a').click() + + # on jobs page + self.assertEqual(self.driver.find_element_by_xpath('//table//tbody//tr[1]//td[4]').text, 'View Shifts') + self.driver.find_element_by_xpath('//table//tbody//tr[1]//td[4]//a').click() + + self.assertEqual(self.driver.find_element_by_class_name('alert-info').text,'There are currently no shifts for the job job.') + + def test_shift_sign_up_with_no_slots(self): + + self.register_event_utility() + self.register_job_utility() + + # create shift with no slot + shift_2 = Shift.objects.create( + date = '2016-05-11', + start_time = '09:00', + end_time = '15:00', + max_volunteers ='1', + job = Job.objects.get(name = 'job')) + + # Create another volunteer + volunteer_user_2 = User.objects.create_user( + username = 'volunteer-2', + password = 'volunteer') + + volunteer_2 = Volunteer.objects.create( + user = volunteer_user_2, + address = 'address', + city = 'city', + state = 'state', + country = 'country', + phone_number = '9999999999', + email = 'volunteer2@volunteer.com', + unlisted_organization = 'organization') + + # Assign shift to the volunteer + VolunteerShift.objects.create( + shift = shift_2, + volunteer = volunteer_2) + + # Login as volunteer 1 and open Shift Sign Up + self.login() + self.driver.find_element_by_link_text('Shift Sign Up').click() + + # on event page + self.assertEqual(self.driver.find_element_by_class_name('alert-info').text,'There are no events.') + + def test_search_event(self): + + self.register_event_utility() + self.register_job_utility() + self.register_shift_utility() + + # Login as volunteer 1 and open Shift Sign Up + self.login() + self.driver.find_element_by_link_text('Shift Sign Up').click() + + # enter date range in which an event starts + self.driver.find_element_by_id('from').send_keys('05/08/2016') + self.driver.find_element_by_id('to').send_keys('08/31/2017') + self.driver.find_element_by_xpath('//form[1]').submit() + # verify that the event shows up + self.assertEqual(self.driver.find_element_by_xpath('//table//tbody//tr[1]//td[1]').text, 'event') + + # enter date range in which no event starts + self.driver.find_element_by_id('from').clear() + self.driver.find_element_by_id('to').clear() + self.driver.find_element_by_id('from').send_keys('10/08/2016') + self.driver.find_element_by_id('to').send_keys('08/31/2017') + self.driver.find_element_by_xpath('//form[1]').submit() + # verify that no event shows up on event page + self.assertEqual(self.driver.find_element_by_class_name('alert-info').text,'There are no events.') + + # enter only incorrect starting date + self.driver.find_element_by_id('from').clear() + self.driver.find_element_by_id('to').clear() + self.driver.find_element_by_id('from').send_keys('10/08/2016') + # verify that no event shows up on event page + self.assertEqual(self.driver.find_element_by_class_name('alert-info').text,'There are no events.') + + """# enter only correct starting date + self.driver.find_element_by_id('from').clear() + self.driver.find_element_by_id('from').send_keys('05/10/2016') + # verify that the event shows up + self.assertEqual(self.driver.find_element_by_xpath('//table//tbody//tr[1]//td[1]').text, 'event')""" + + # enter only incorrect ending date + self.driver.find_element_by_id('from').clear() + self.driver.find_element_by_id('to').send_keys('10/08/2015') + # verify that no event shows up on event page + self.assertEqual(self.driver.find_element_by_class_name('alert-info').text,'There are no events.') + + """# enter correct ending date + self.driver.find_element_by_id('to').clear() + self.driver.find_element_by_id('to').send_keys('06/15/2017') + # verify that the event shows up + self.assertEqual(self.driver.find_element_by_xpath('//table//tbody//tr[1]//td[1]').text, 'event')""" \ No newline at end of file diff --git a/vms/registration/tests/test_functional_admin.py b/vms/registration/tests/test_functional_admin.py index 5357589..6121092 100644 --- a/vms/registration/tests/test_functional_admin.py +++ b/vms/registration/tests/test_functional_admin.py @@ -9,7 +9,7 @@ from selenium.common.exceptions import NoSuchElementException from organization.models import Organization #hack to pass travis,Bug in Code - +from cities_light.models import Country class SignUpAdmin(LiveServerTestCase): ''' @@ -22,13 +22,25 @@ class SignUpAdmin(LiveServerTestCase): - Register admin with already registered username - Test length of name fields ( 30 char, limit) - Address Field: + Location Field (Address, City, State, Country): + - Test Null Values + - Test legit characters as per Models defined + + Email Field: + - Test Null Values + - Test uniqueness of field + + Phone Number Field: - Test Null Values + - Test validity of number against country entered - Test legit characters as per Models defined - City Field: + Organization Field: - Test Null Values - Test legit characters as per Models defined + + Retention of fields: + - Field values are checked to see that they are not lost when the page gets reloaded ''' def setUp(self): # create an org prior to registration. Bug in Code @@ -36,6 +48,19 @@ def setUp(self): Organization.objects.create( name = 'DummyOrg') + # country created so that phone number can be checked + Country.objects.create( + name_ascii = 'India', + slug ='india', + geoname_id = '1269750', + alternate_names = '', + name = 'India', + code2 = 'IN', + code3 = 'IND', + continent = 'AS', + tld = 'in', + phone = '91') + self.homepage = '/' self.admin_registration_page = '/registration/signup_administrator/' self.authentication_page = '/authentication/login/' @@ -65,6 +90,9 @@ def test_null_values(self): self.assertNotEqual(self.driver.find_elements_by_class_name('help-block'), None) + # verify that 10 of the fields are compulsory + self.assertEqual(len(self.driver.find_elements_by_class_name('help-block')), + 10) def test_name_fields(self): # register valid admin user @@ -182,7 +210,7 @@ def test_name_fields(self): error_message = self.driver.find_element_by_xpath("id('div_id_last_name')/div/p/strong").text, self.assertTrue(bool(re.search(r'Ensure this value has at most 20 characters', str(error_message)))) - def test_address_field(self): + def test_location_fields(self): # register valid admin user self.driver.get(self.live_server_url + self.admin_registration_page) @@ -207,7 +235,7 @@ def test_address_field(self): self.assertEqual(self.driver.current_url, self.live_server_url + self.homepage) - # test numeric characters in address + # test numeric characters in address, city, state, country self.driver.get(self.live_server_url + self.admin_registration_page) self.driver.find_element_by_id('id_username').send_keys('admin-username-1') @@ -216,22 +244,29 @@ def test_address_field(self): self.driver.find_element_by_id('id_last_name').send_keys('admin-last-name') self.driver.find_element_by_id('id_email').send_keys('email1@systers.org') self.driver.find_element_by_id('id_address').send_keys('123 New-City address') - self.driver.find_element_by_id('id_city').send_keys('admin-city') - self.driver.find_element_by_id('id_state').send_keys('admin-state') - self.driver.find_element_by_id('id_country').send_keys('admin-country') + self.driver.find_element_by_id('id_city').send_keys('1 admin-city') + self.driver.find_element_by_id('id_state').send_keys('007 admin-state') + self.driver.find_element_by_id('id_country').send_keys('54 admin-country') self.driver.find_element_by_id('id_phone_number').send_keys('9999999999') self.driver.find_element_by_id('id_unlisted_organization').send_keys('admin-org') self.driver.find_element_by_xpath('//form[1]').submit() - self.assertNotEqual(self.driver.find_elements_by_class_name('messages'), + self.assertNotEqual(self.driver.find_elements_by_class_name('help-block'), None) - self.assertEqual(self.driver.find_element_by_class_name('messages').text, - 'You have successfully registered!') - self.assertEqual(self.driver.current_url, self.live_server_url + - self.homepage) + self.admin_registration_page) - # test special characters in address + #verify that messages are displayed for city, state and country but not address + self.assertEqual(len(self.driver.find_elements_by_class_name('help-block')), + 3) + self.assertEqual(self.driver.find_element_by_xpath("id('div_id_city')/div/p/strong").text, + 'Enter a valid value.') + self.assertEqual(self.driver.find_element_by_xpath("id('div_id_state')/div/p/strong").text, + 'Enter a valid value.') + self.assertEqual(self.driver.find_element_by_xpath("id('div_id_country')/div/p/strong").text, + 'Enter a valid value.') + + # test special characters in address, city, state, country self.driver.get(self.live_server_url + self.admin_registration_page) self.driver.find_element_by_id('id_username').send_keys('admin-username-2') @@ -240,9 +275,9 @@ def test_address_field(self): self.driver.find_element_by_id('id_last_name').send_keys('last-name') self.driver.find_element_by_id('id_email').send_keys('email2@systers.org') self.driver.find_element_by_id('id_address').send_keys('admin-address!@#$()') - self.driver.find_element_by_id('id_city').send_keys('admin-city') - self.driver.find_element_by_id('id_state').send_keys('admin-state') - self.driver.find_element_by_id('id_country').send_keys('admin-country') + self.driver.find_element_by_id('id_city').send_keys('!$@%^#&admin-city') + self.driver.find_element_by_id('id_state').send_keys('!$@%^#&admin-state') + self.driver.find_element_by_id('id_country').send_keys('&%^*admin-country!@$#') self.driver.find_element_by_id('id_phone_number').send_keys('9999999999') self.driver.find_element_by_id('id_unlisted_organization').send_keys('admin-org') self.driver.find_element_by_xpath('//form[1]').submit() @@ -251,10 +286,19 @@ def test_address_field(self): None) self.assertEqual(self.driver.current_url, self.live_server_url + self.admin_registration_page) + + # verify that messages are displayed for all fields self.assertEqual(self.driver.find_element_by_xpath("id('div_id_address')/div/p/strong").text, 'Enter a valid value.') + self.assertEqual(self.driver.find_element_by_xpath("id('div_id_city')/div/p/strong").text, + 'Enter a valid value.') + self.assertEqual(self.driver.find_element_by_xpath("id('div_id_state')/div/p/strong").text, + 'Enter a valid value.') + self.assertEqual(self.driver.find_element_by_xpath("id('div_id_country')/div/p/strong").text, + 'Enter a valid value.') + + def test_email_field(self): - def test_city_field(self): # register valid admin user self.driver.get(self.live_server_url + self.admin_registration_page) @@ -271,56 +315,242 @@ def test_city_field(self): self.driver.find_element_by_id('id_unlisted_organization').send_keys('admin-org') self.driver.find_element_by_xpath('//form[1]').submit() + # verify successful registration self.assertNotEqual(self.driver.find_elements_by_class_name('messages'), None) self.assertEqual(self.driver.find_element_by_class_name('messages').text, 'You have successfully registered!') - self.assertEqual(self.driver.current_url, self.live_server_url + self.homepage) - # test numeric characters in city + # Try to register admin again with same email address self.driver.get(self.live_server_url + self.admin_registration_page) self.driver.find_element_by_id('id_username').send_keys('admin-username-1') self.driver.find_element_by_id('id_password').send_keys('admin-password!@#$%^&*()_') self.driver.find_element_by_id('id_first_name').send_keys('admin-first-name') self.driver.find_element_by_id('id_last_name').send_keys('admin-last-name') - self.driver.find_element_by_id('id_email').send_keys('email1@systers.org') + self.driver.find_element_by_id('id_email').send_keys('email@systers.org') self.driver.find_element_by_id('id_address').send_keys('admin-address') - self.driver.find_element_by_id('id_city').send_keys('13th admin-city') + self.driver.find_element_by_id('id_city').send_keys('admin-city') self.driver.find_element_by_id('id_state').send_keys('admin-state') self.driver.find_element_by_id('id_country').send_keys('admin-country') self.driver.find_element_by_id('id_phone_number').send_keys('9999999999') self.driver.find_element_by_id('id_unlisted_organization').send_keys('admin-org') self.driver.find_element_by_xpath('//form[1]').submit() + # verify that user wasn't registered + self.assertEqual(self.driver.current_url, self.live_server_url + + self.admin_registration_page) self.assertNotEqual(self.driver.find_elements_by_class_name('help-block'), None) + self.assertEqual(self.driver.find_element_by_xpath("id('div_id_email')/div/p/strong").text, + 'Administrator with this Email already exists.') + + def test_phone_field(self): + + # register valid admin user with valid phone number for country + self.driver.get(self.live_server_url + self.admin_registration_page) + + self.driver.find_element_by_id('id_username').send_keys('admin-username') + self.driver.find_element_by_id('id_password').send_keys('admin-password!@#$%^&*()_') + self.driver.find_element_by_id('id_first_name').send_keys('admin-first-name') + self.driver.find_element_by_id('id_last_name').send_keys('admin-last-name') + self.driver.find_element_by_id('id_email').send_keys('email@systers.org') + self.driver.find_element_by_id('id_address').send_keys('admin-address') + self.driver.find_element_by_id('id_city').send_keys('admin-city') + self.driver.find_element_by_id('id_state').send_keys('admin-state') + self.driver.find_element_by_id('id_country').send_keys('India') + self.driver.find_element_by_id('id_phone_number').send_keys('022 2403 6606') + self.driver.find_element_by_id('id_unlisted_organization').send_keys('admin-org') + self.driver.find_element_by_xpath('//form[1]').submit() + + # verify successful registration + self.assertNotEqual(self.driver.find_elements_by_class_name('messages'), + None) + self.assertEqual(self.driver.find_element_by_class_name('messages').text, + 'You have successfully registered!') + self.assertEqual(self.driver.current_url, self.live_server_url + + self.homepage) + + # Try to register admin with incorrect phone number for country + self.driver.get(self.live_server_url + self.admin_registration_page) + + self.driver.find_element_by_id('id_username').send_keys('admin-username-1') + self.driver.find_element_by_id('id_password').send_keys('admin-password!@#$%^&*()_') + self.driver.find_element_by_id('id_first_name').send_keys('admin-first-name') + self.driver.find_element_by_id('id_last_name').send_keys('admin-last-name') + self.driver.find_element_by_id('id_email').send_keys('email1@systers.org') + self.driver.find_element_by_id('id_address').send_keys('admin-address') + self.driver.find_element_by_id('id_city').send_keys('admin-city') + self.driver.find_element_by_id('id_state').send_keys('admin-state') + self.driver.find_element_by_id('id_country').send_keys('India') + self.driver.find_element_by_id('id_phone_number').send_keys('237937913') + self.driver.find_element_by_id('id_unlisted_organization').send_keys('admin-org') + self.driver.find_element_by_xpath('//form[1]').submit() + + # verify that user wasn't registered self.assertEqual(self.driver.current_url, self.live_server_url + self.admin_registration_page) - self.assertEqual(self.driver.find_element_by_xpath("id('div_id_city')/div/p/strong").text, - 'Enter a valid value.') + self.assertNotEqual(self.driver.find_elements_by_class_name('help-block'), + None) + self.assertEqual(self.driver.find_element_by_xpath("id('div_id_phone_number')/div/p/strong").text, + "This phone number isn't valid for the selected country") - # test special characters in city + # Use invalid characters in phone number self.driver.get(self.live_server_url + self.admin_registration_page) self.driver.find_element_by_id('id_username').send_keys('admin-username-1') self.driver.find_element_by_id('id_password').send_keys('admin-password!@#$%^&*()_') - self.driver.find_element_by_id('id_first_name').send_keys('first-name') - self.driver.find_element_by_id('id_last_name').send_keys('last-name') + self.driver.find_element_by_id('id_first_name').send_keys('admin-first-name') + self.driver.find_element_by_id('id_last_name').send_keys('admin-last-name') self.driver.find_element_by_id('id_email').send_keys('email1@systers.org') self.driver.find_element_by_id('id_address').send_keys('admin-address') - self.driver.find_element_by_id('id_city').send_keys('!@#$%^&*()_+city') + self.driver.find_element_by_id('id_city').send_keys('admin-city') self.driver.find_element_by_id('id_state').send_keys('admin-state') - self.driver.find_element_by_id('id_country').send_keys('admin-country') - self.driver.find_element_by_id('id_phone_number').send_keys('9999999999') + self.driver.find_element_by_id('id_country').send_keys('India') + self.driver.find_element_by_id('id_phone_number').send_keys('23&79^37913') self.driver.find_element_by_id('id_unlisted_organization').send_keys('admin-org') self.driver.find_element_by_xpath('//form[1]').submit() + # verify that user wasn't registered + self.assertEqual(self.driver.current_url, self.live_server_url + + self.admin_registration_page) self.assertNotEqual(self.driver.find_elements_by_class_name('help-block'), None) + self.assertEqual(self.driver.find_element_by_xpath("id('div_id_phone_number')/div/p/strong").text, + "Please enter a valid phone number") + + def test_organization_field(self): + + # register valid admin user + self.driver.get(self.live_server_url + self.admin_registration_page) + + self.driver.find_element_by_id('id_username').send_keys('admin-username') + self.driver.find_element_by_id('id_password').send_keys('admin-password!@#$%^&*()_') + self.driver.find_element_by_id('id_first_name').send_keys('admin-first-name') + self.driver.find_element_by_id('id_last_name').send_keys('admin-last-name') + self.driver.find_element_by_id('id_email').send_keys('email@systers.org') + self.driver.find_element_by_id('id_address').send_keys('admin-address') + self.driver.find_element_by_id('id_city').send_keys('admin-city') + self.driver.find_element_by_id('id_state').send_keys('admin-state') + self.driver.find_element_by_id('id_country').send_keys('admin-country') + self.driver.find_element_by_id('id_phone_number').send_keys('999999999') + self.driver.find_element_by_id('id_unlisted_organization').send_keys('admin-org') + self.driver.find_element_by_xpath('//form[1]').submit() + + # verify successful registration + self.assertNotEqual(self.driver.find_elements_by_class_name('messages'), + None) + self.assertEqual(self.driver.find_element_by_class_name('messages').text, + 'You have successfully registered!') + self.assertEqual(self.driver.current_url, self.live_server_url + + self.homepage) + + # test numeric characters in organization + self.driver.get(self.live_server_url + self.admin_registration_page) + + self.driver.find_element_by_id('id_username').send_keys('admin-username-1') + self.driver.find_element_by_id('id_password').send_keys('admin-password!@#$%^&*()_') + self.driver.find_element_by_id('id_first_name').send_keys('admin-first-name') + self.driver.find_element_by_id('id_last_name').send_keys('admin-last-name') + self.driver.find_element_by_id('id_email').send_keys('email1@systers.org') + self.driver.find_element_by_id('id_address').send_keys('admin-address') + self.driver.find_element_by_id('id_city').send_keys('admin-city') + self.driver.find_element_by_id('id_state').send_keys('admin-state') + self.driver.find_element_by_id('id_country').send_keys('admin-country') + self.driver.find_element_by_id('id_phone_number').send_keys('999999999') + self.driver.find_element_by_id('id_unlisted_organization').send_keys('13 admin-org') + self.driver.find_element_by_xpath('//form[1]').submit() + + # verify successful registration + self.assertNotEqual(self.driver.find_elements_by_class_name('messages'), + None) + self.assertEqual(self.driver.find_element_by_class_name('messages').text, + 'You have successfully registered!') + self.assertEqual(self.driver.current_url, self.live_server_url + + self.homepage) + + # Use invalid characters in organization + self.driver.get(self.live_server_url + self.admin_registration_page) + + self.driver.find_element_by_id('id_username').send_keys('admin-username-2') + self.driver.find_element_by_id('id_password').send_keys('admin-password!@#$%^&*()_') + self.driver.find_element_by_id('id_first_name').send_keys('admin-first-name') + self.driver.find_element_by_id('id_last_name').send_keys('admin-last-name') + self.driver.find_element_by_id('id_email').send_keys('email2@systers.org') + self.driver.find_element_by_id('id_address').send_keys('admin-address') + self.driver.find_element_by_id('id_city').send_keys('admin-city') + self.driver.find_element_by_id('id_state').send_keys('admin-state') + self.driver.find_element_by_id('id_country').send_keys('admin-country') + self.driver.find_element_by_id('id_phone_number').send_keys('999999999') + self.driver.find_element_by_id('id_unlisted_organization').send_keys('!$&admin-org') + self.driver.find_element_by_xpath('//form[1]').submit() + + # verify that user wasn't registered self.assertEqual(self.driver.current_url, self.live_server_url + self.admin_registration_page) - self.assertEqual(self.driver.find_element_by_xpath("id('div_id_city')/div/p/strong").text, - 'Enter a valid value.') + self.assertNotEqual(self.driver.find_elements_by_class_name('help-block'), + None) + self.assertEqual(self.driver.find_element_by_xpath("id('div_id_unlisted_organization')/div/p/strong").text, + "Enter a valid value.") + + def test_field_value_retention(self): + + # send invalid value in fields - first name, state, phone, organization + self.driver.get(self.live_server_url + self.admin_registration_page) + + self.driver.find_element_by_id('id_username').send_keys('admin-username') + self.driver.find_element_by_id('id_password').send_keys('admin-password!@#$%^&*()_') + self.driver.find_element_by_id('id_first_name').send_keys('admin-first-name-3') + self.driver.find_element_by_id('id_last_name').send_keys('admin-last-name') + self.driver.find_element_by_id('id_email').send_keys('email1@systers.org') + self.driver.find_element_by_id('id_address').send_keys('admin-address') + self.driver.find_element_by_id('id_city').send_keys('admin-city') + self.driver.find_element_by_id('id_state').send_keys('admin-state!') + self.driver.find_element_by_id('id_country').send_keys('admin-country') + self.driver.find_element_by_id('id_phone_number').send_keys('99999.!9999') + self.driver.find_element_by_id('id_unlisted_organization').send_keys('@#admin-org') + self.driver.find_element_by_xpath('//form[1]').submit() + + # verify that user wasn't registered and that field values are not erased + self.assertEqual(self.driver.current_url, self.live_server_url + self.admin_registration_page) + self.assertEqual(self.driver.find_element_by_id('id_username').get_attribute('value'),'admin-username') + self.assertEqual(self.driver.find_element_by_id('id_first_name').get_attribute('value'),'admin-first-name-3') + self.assertEqual(self.driver.find_element_by_id('id_last_name').get_attribute('value'),'admin-last-name') + self.assertEqual(self.driver.find_element_by_id('id_email').get_attribute('value'),'email1@systers.org') + self.assertEqual(self.driver.find_element_by_id('id_address').get_attribute('value'),'admin-address') + self.assertEqual(self.driver.find_element_by_id('id_city').get_attribute('value'),'admin-city') + self.assertEqual(self.driver.find_element_by_id('id_state').get_attribute('value'),'admin-state!') + self.assertEqual(self.driver.find_element_by_id('id_country').get_attribute('value'),'admin-country') + self.assertEqual(self.driver.find_element_by_id('id_phone_number').get_attribute('value'),'99999.!9999') + self.assertEqual(self.driver.find_element_by_id('id_unlisted_organization').get_attribute('value'),'@#admin-org') + + # send invalid value in fields - last name, address, city, country + self.driver.get(self.live_server_url + self.admin_registration_page) + + self.driver.find_element_by_id('id_username').send_keys('admin-username') + self.driver.find_element_by_id('id_password').send_keys('admin-password!@#$%^&*()_') + self.driver.find_element_by_id('id_first_name').send_keys('admin-first-name') + self.driver.find_element_by_id('id_last_name').send_keys('admin-last-name-3') + self.driver.find_element_by_id('id_email').send_keys('email1@systers.org') + self.driver.find_element_by_id('id_address').send_keys('admin-address$@!') + self.driver.find_element_by_id('id_city').send_keys('admin-city#$') + self.driver.find_element_by_id('id_state').send_keys('admin-state') + self.driver.find_element_by_id('id_country').send_keys('admin-country 15') + self.driver.find_element_by_id('id_phone_number').send_keys('999999999') + self.driver.find_element_by_id('id_unlisted_organization').send_keys('admin-org') + self.driver.find_element_by_xpath('//form[1]').submit() + + # verify that user wasn't registered and that field values are not erased + self.assertEqual(self.driver.current_url, self.live_server_url + self.admin_registration_page) + self.assertEqual(self.driver.find_element_by_id('id_username').get_attribute('value'),'admin-username') + self.assertEqual(self.driver.find_element_by_id('id_first_name').get_attribute('value'),'admin-first-name') + self.assertEqual(self.driver.find_element_by_id('id_last_name').get_attribute('value'),'admin-last-name-3') + self.assertEqual(self.driver.find_element_by_id('id_email').get_attribute('value'),'email1@systers.org') + self.assertEqual(self.driver.find_element_by_id('id_address').get_attribute('value'),'admin-address$@!') + self.assertEqual(self.driver.find_element_by_id('id_city').get_attribute('value'),'admin-city#$') + self.assertEqual(self.driver.find_element_by_id('id_state').get_attribute('value'),'admin-state') + self.assertEqual(self.driver.find_element_by_id('id_country').get_attribute('value'),'admin-country 15') + self.assertEqual(self.driver.find_element_by_id('id_phone_number').get_attribute('value'),'999999999') + self.assertEqual(self.driver.find_element_by_id('id_unlisted_organization').get_attribute('value'),'admin-org') \ No newline at end of file diff --git a/vms/registration/tests/test_functional_volunteer.py b/vms/registration/tests/test_functional_volunteer.py index fe42405..f6a9046 100644 --- a/vms/registration/tests/test_functional_volunteer.py +++ b/vms/registration/tests/test_functional_volunteer.py @@ -7,6 +7,7 @@ from selenium.common.exceptions import NoSuchElementException from organization.models import Organization #hack to pass travis,Bug in Code +from cities_light.models import Country class SignUpVolunteer(LiveServerTestCase): @@ -20,13 +21,25 @@ class SignUpVolunteer(LiveServerTestCase): - Register volunteer with already registered username - Test length of name fields ( 30 char, limit) - Address Field: + Location Field (Address, City, State, Country): - Test Null Values - Test legit characters as per Models defined - City Field: + Email Field: + - Test Null Values + - Test uniqueness of field + + Phone Number Field: + - Test Null Values + - Test validity of number against country entered + - Test legit characters as per Models defined + + Organization Field: - Test Null Values - Test legit characters as per Models defined + + Retention of fields: + - Field values are checked to see that they are not lost when the page gets reloaded ''' def setUp(self): # create an org prior to registration. Bug in Code @@ -34,6 +47,19 @@ def setUp(self): Organization.objects.create( name = 'DummyOrg') + # country created so that phone number can be checked + Country.objects.create( + name_ascii = 'India', + slug ='india', + geoname_id = '1269750', + alternate_names = '', + name = 'India', + code2 = 'IN', + code3 = 'IND', + continent = 'AS', + tld = 'in', + phone = '91') + self.homepage = '/' self.volunteer_registration_page = '/registration/signup_volunteer/' self.authentication_page = '/authentication/login/' @@ -64,6 +90,9 @@ def test_null_values(self): self.assertNotEqual(self.driver.find_elements_by_class_name('help-block'), None) + # verify that all of the fields are compulsory + self.assertEqual(len(self.driver.find_elements_by_class_name('help-block')), + 11) def test_name_fields(self): # register valid volunteer user @@ -183,7 +212,8 @@ def test_name_fields(self): error_message = self.driver.find_element_by_xpath("id('div_id_last_name')/div/p/strong").text, self.assertTrue(bool(re.search(r'Ensure this value has at most 30 characters', str(error_message)))) - def test_address_field(self): + def test_location_fields(self): + # register valid volunteer user self.driver.get(self.live_server_url + self.volunteer_registration_page) @@ -208,7 +238,7 @@ def test_address_field(self): self.assertEqual(self.driver.current_url, self.live_server_url + self.homepage) - # test numeric characters in address + # test numeric characters in address, city, state, country self.driver.get(self.live_server_url + self.volunteer_registration_page) self.driver.find_element_by_id('id_username').send_keys('volunteer-username-1') @@ -217,33 +247,41 @@ def test_address_field(self): self.driver.find_element_by_id('id_last_name').send_keys('volunteer-last-name') self.driver.find_element_by_id('id_email').send_keys('volunteer-email1@systers.org') self.driver.find_element_by_id('id_address').send_keys('123 New-City address') - self.driver.find_element_by_id('id_city').send_keys('volunteer-city') - self.driver.find_element_by_id('id_state').send_keys('volunteer-state') - self.driver.find_element_by_id('id_country').send_keys('volunteer-country') + self.driver.find_element_by_id('id_city').send_keys('1 volunteer-city') + self.driver.find_element_by_id('id_state').send_keys('007 volunteer-state') + self.driver.find_element_by_id('id_country').send_keys('54 volunteer-country') self.driver.find_element_by_id('id_phone_number').send_keys('9999999999') self.driver.find_element_by_id('id_unlisted_organization').send_keys('volunteer-org') self.driver.find_element_by_xpath('//form[1]').submit() - self.assertNotEqual(self.driver.find_elements_by_class_name('messages'), + self.assertNotEqual(self.driver.find_elements_by_class_name('help-block'), None) - self.assertEqual(self.driver.find_element_by_class_name('messages').text, - 'You have successfully registered!') - self.assertEqual(self.driver.current_url, self.live_server_url + - self.homepage) + self.volunteer_registration_page) - # test special characters in address + # Verify that messages are displayed for city, state and country but not address + # Test commented out as there is a bug in the template + """self.assertEqual(len(self.driver.find_elements_by_class_name('help-block')), + 3)""" + self.assertEqual(self.driver.find_element_by_xpath("id('div_id_city')/div/p/strong").text, + 'Enter a valid value.') + self.assertEqual(self.driver.find_element_by_xpath("id('div_id_state')/div/p/strong").text, + 'Enter a valid value.') + self.assertEqual(self.driver.find_element_by_xpath("id('div_id_country')/div/p/strong").text, + 'Enter a valid value.') + + # Test special characters in address, city, state, country self.driver.get(self.live_server_url + self.volunteer_registration_page) self.driver.find_element_by_id('id_username').send_keys('volunteer-username-2') self.driver.find_element_by_id('id_password').send_keys('volunteer-password!@#$%^&*()_') - self.driver.find_element_by_id('id_first_name').send_keys('first-name') - self.driver.find_element_by_id('id_last_name').send_keys('last-name') + self.driver.find_element_by_id('id_first_name').send_keys('volunteer-first-name') + self.driver.find_element_by_id('id_last_name').send_keys('volunteer-last-name') self.driver.find_element_by_id('id_email').send_keys('volunteer-email2@systers.org') self.driver.find_element_by_id('id_address').send_keys('volunteer-address!@#$()') - self.driver.find_element_by_id('id_city').send_keys('volunteer-city') - self.driver.find_element_by_id('id_state').send_keys('volunteer-state') - self.driver.find_element_by_id('id_country').send_keys('volunteer-country') + self.driver.find_element_by_id('id_city').send_keys('!$@%^#&volunteer-city') + self.driver.find_element_by_id('id_state').send_keys('!$@%^#&volunteer-state') + self.driver.find_element_by_id('id_country').send_keys('&%^*volunteer-country!@$#') self.driver.find_element_by_id('id_phone_number').send_keys('9999999999') self.driver.find_element_by_id('id_unlisted_organization').send_keys('volunteer-org') self.driver.find_element_by_xpath('//form[1]').submit() @@ -252,10 +290,19 @@ def test_address_field(self): None) self.assertEqual(self.driver.current_url, self.live_server_url + self.volunteer_registration_page) + + # verify that messages are displayed for all fields self.assertEqual(self.driver.find_element_by_xpath("id('div_id_address')/div/p/strong").text, 'Enter a valid value.') + self.assertEqual(self.driver.find_element_by_xpath("id('div_id_city')/div/p/strong").text, + 'Enter a valid value.') + self.assertEqual(self.driver.find_element_by_xpath("id('div_id_state')/div/p/strong").text, + 'Enter a valid value.') + self.assertEqual(self.driver.find_element_by_xpath("id('div_id_country')/div/p/strong").text, + 'Enter a valid value.') + + def test_email_field(self): - def test_city_field(self): # register valid volunteer user self.driver.get(self.live_server_url + self.volunteer_registration_page) @@ -272,56 +319,244 @@ def test_city_field(self): self.driver.find_element_by_id('id_unlisted_organization').send_keys('volunteer-org') self.driver.find_element_by_xpath('//form[1]').submit() + # verify successful registration self.assertNotEqual(self.driver.find_elements_by_class_name('messages'), None) self.assertEqual(self.driver.find_element_by_class_name('messages').text, 'You have successfully registered!') - self.assertEqual(self.driver.current_url, self.live_server_url + self.homepage) - # test numeric characters in city + # Try to register volunteer again with same email address self.driver.get(self.live_server_url + self.volunteer_registration_page) self.driver.find_element_by_id('id_username').send_keys('volunteer-username-1') self.driver.find_element_by_id('id_password').send_keys('volunteer-password!@#$%^&*()_') self.driver.find_element_by_id('id_first_name').send_keys('volunteer-first-name') self.driver.find_element_by_id('id_last_name').send_keys('volunteer-last-name') - self.driver.find_element_by_id('id_email').send_keys('volunteer-email1@systers.org') + self.driver.find_element_by_id('id_email').send_keys('volunteer-email@systers.org') self.driver.find_element_by_id('id_address').send_keys('volunteer-address') - self.driver.find_element_by_id('id_city').send_keys('13th volunteer-city') + self.driver.find_element_by_id('id_city').send_keys('volunteer-city') self.driver.find_element_by_id('id_state').send_keys('volunteer-state') self.driver.find_element_by_id('id_country').send_keys('volunteer-country') self.driver.find_element_by_id('id_phone_number').send_keys('9999999999') self.driver.find_element_by_id('id_unlisted_organization').send_keys('volunteer-org') self.driver.find_element_by_xpath('//form[1]').submit() + # verify that volunteer wasn't registered + self.assertEqual(self.driver.current_url, self.live_server_url + + self.volunteer_registration_page) self.assertNotEqual(self.driver.find_elements_by_class_name('help-block'), None) + self.assertEqual(self.driver.find_element_by_xpath("id('div_id_email')/div/p/strong").text, + 'Volunteer with this Email already exists.') + + def test_phone_field(self): + + # register valid volunteer user with valid phone number for country + self.driver.get(self.live_server_url + self.volunteer_registration_page) + + self.driver.find_element_by_id('id_username').send_keys('volunteer-username') + self.driver.find_element_by_id('id_password').send_keys('volunteer-password!@#$%^&*()_') + self.driver.find_element_by_id('id_first_name').send_keys('volunteer-first-name') + self.driver.find_element_by_id('id_last_name').send_keys('volunteer-last-name') + self.driver.find_element_by_id('id_email').send_keys('volunteer-email@systers.org') + self.driver.find_element_by_id('id_address').send_keys('volunteer-address') + self.driver.find_element_by_id('id_city').send_keys('volunteer-city') + self.driver.find_element_by_id('id_state').send_keys('volunteer-state') + self.driver.find_element_by_id('id_country').send_keys('India') + self.driver.find_element_by_id('id_phone_number').send_keys('022 2403 6606') + self.driver.find_element_by_id('id_unlisted_organization').send_keys('volunteer-org') + self.driver.find_element_by_xpath('//form[1]').submit() + + # verify successful registration + self.assertNotEqual(self.driver.find_elements_by_class_name('messages'), + None) + self.assertEqual(self.driver.find_element_by_class_name('messages').text, + 'You have successfully registered!') + self.assertEqual(self.driver.current_url, self.live_server_url + + self.homepage) + + # Try to register volunteer with incorrect phone number for country + self.driver.get(self.live_server_url + self.volunteer_registration_page) + + self.driver.find_element_by_id('id_username').send_keys('volunteer-username-1') + self.driver.find_element_by_id('id_password').send_keys('volunteer-password!@#$%^&*()_') + self.driver.find_element_by_id('id_first_name').send_keys('volunteer-first-name') + self.driver.find_element_by_id('id_last_name').send_keys('volunteer-last-name') + self.driver.find_element_by_id('id_email').send_keys('volunteer-email1@systers.org') + self.driver.find_element_by_id('id_address').send_keys('volunteer-address') + self.driver.find_element_by_id('id_city').send_keys('volunteer-city') + self.driver.find_element_by_id('id_state').send_keys('volunteer-state') + self.driver.find_element_by_id('id_country').send_keys('India') + self.driver.find_element_by_id('id_phone_number').send_keys('237937913') + self.driver.find_element_by_id('id_unlisted_organization').send_keys('volunteer-org') + self.driver.find_element_by_xpath('//form[1]').submit() + + # verify that user wasn't registered self.assertEqual(self.driver.current_url, self.live_server_url + self.volunteer_registration_page) - self.assertEqual(self.driver.find_element_by_xpath("id('div_id_city')/div/p/strong").text, - 'Enter a valid value.') + self.assertNotEqual(self.driver.find_elements_by_class_name('help-block'), + None) + self.assertEqual(self.driver.find_element_by_xpath("id('div_id_phone_number')/div/p/strong").text, + "This phone number isn't valid for the selected country") - # test special characters in city + # Use invalid characters in phone number self.driver.get(self.live_server_url + self.volunteer_registration_page) self.driver.find_element_by_id('id_username').send_keys('volunteer-username-1') self.driver.find_element_by_id('id_password').send_keys('volunteer-password!@#$%^&*()_') - self.driver.find_element_by_id('id_first_name').send_keys('first-name') - self.driver.find_element_by_id('id_last_name').send_keys('last-name') + self.driver.find_element_by_id('id_first_name').send_keys('volunteer-first-name') + self.driver.find_element_by_id('id_last_name').send_keys('volunteer-last-name') self.driver.find_element_by_id('id_email').send_keys('volunteer-email1@systers.org') self.driver.find_element_by_id('id_address').send_keys('volunteer-address') - self.driver.find_element_by_id('id_city').send_keys('!@#$%^&*()_+city') + self.driver.find_element_by_id('id_city').send_keys('volunteer-city') + self.driver.find_element_by_id('id_state').send_keys('volunteer-state') + self.driver.find_element_by_id('id_country').send_keys('India') + self.driver.find_element_by_id('id_phone_number').send_keys('23&79^37913') + self.driver.find_element_by_id('id_unlisted_organization').send_keys('volunteer-org') + self.driver.find_element_by_xpath('//form[1]').submit() + + # verify that user wasn't registered + self.assertEqual(self.driver.current_url, self.live_server_url + + self.volunteer_registration_page) + self.assertNotEqual(self.driver.find_elements_by_class_name('help-block'), + None) + self.assertEqual(self.driver.find_element_by_xpath("id('div_id_phone_number')/div/p/strong").text, + "Please enter a valid phone number") + + def test_organization_field(self): + + # register valid volunteer user + self.driver.get(self.live_server_url + self.volunteer_registration_page) + + self.driver.find_element_by_id('id_username').send_keys('volunteer-username') + self.driver.find_element_by_id('id_password').send_keys('volunteer-password!@#$%^&*()_') + self.driver.find_element_by_id('id_first_name').send_keys('volunteer-first-name') + self.driver.find_element_by_id('id_last_name').send_keys('volunteer-last-name') + self.driver.find_element_by_id('id_email').send_keys('volunteer-email@systers.org') + self.driver.find_element_by_id('id_address').send_keys('volunteer-address') + self.driver.find_element_by_id('id_city').send_keys('volunteer-city') self.driver.find_element_by_id('id_state').send_keys('volunteer-state') self.driver.find_element_by_id('id_country').send_keys('volunteer-country') self.driver.find_element_by_id('id_phone_number').send_keys('9999999999') self.driver.find_element_by_id('id_unlisted_organization').send_keys('volunteer-org') self.driver.find_element_by_xpath('//form[1]').submit() - self.assertNotEqual(self.driver.find_elements_by_class_name('help-block'), + # verify successful registration + self.assertNotEqual(self.driver.find_elements_by_class_name('messages'), None) + self.assertEqual(self.driver.find_element_by_class_name('messages').text, + 'You have successfully registered!') + + self.assertEqual(self.driver.current_url, self.live_server_url + + self.homepage) + + # test numeric characters in organization + self.driver.get(self.live_server_url + self.volunteer_registration_page) + + self.driver.find_element_by_id('id_username').send_keys('volunteer-username-1') + self.driver.find_element_by_id('id_password').send_keys('volunteer-password!@#$%^&*()_') + self.driver.find_element_by_id('id_first_name').send_keys('volunteer-first-name') + self.driver.find_element_by_id('id_last_name').send_keys('volunteer-last-name') + self.driver.find_element_by_id('id_email').send_keys('volunteer-email1@systers.org') + self.driver.find_element_by_id('id_address').send_keys('volunteer-address') + self.driver.find_element_by_id('id_city').send_keys('volunteer-city') + self.driver.find_element_by_id('id_state').send_keys('volunteer-state') + self.driver.find_element_by_id('id_country').send_keys('volunteer-country') + self.driver.find_element_by_id('id_phone_number').send_keys('9999999999') + self.driver.find_element_by_id('id_unlisted_organization').send_keys('volunteer-org 13') + self.driver.find_element_by_xpath('//form[1]').submit() + + # verify successful registration + self.assertNotEqual(self.driver.find_elements_by_class_name('messages'), + None) + self.assertEqual(self.driver.find_element_by_class_name('messages').text, + 'You have successfully registered!') + self.assertEqual(self.driver.current_url, self.live_server_url + + self.homepage) + + # Use invalid characters in organization + self.driver.get(self.live_server_url + self.volunteer_registration_page) + + self.driver.find_element_by_id('id_username').send_keys('volunteer-username-2') + self.driver.find_element_by_id('id_password').send_keys('volunteer-password!@#$%^&*()_') + self.driver.find_element_by_id('id_first_name').send_keys('volunteer-first-name') + self.driver.find_element_by_id('id_last_name').send_keys('volunteer-last-name') + self.driver.find_element_by_id('id_email').send_keys('volunteer-email2@systers.org') + self.driver.find_element_by_id('id_address').send_keys('volunteer-address') + self.driver.find_element_by_id('id_city').send_keys('volunteer-city') + self.driver.find_element_by_id('id_state').send_keys('volunteer-state') + self.driver.find_element_by_id('id_country').send_keys('volunteer-country') + self.driver.find_element_by_id('id_phone_number').send_keys('9999999999') + self.driver.find_element_by_id('id_unlisted_organization').send_keys('!*^$volunteer-org') + self.driver.find_element_by_xpath('//form[1]').submit() + + # verify that user wasn't registered self.assertEqual(self.driver.current_url, self.live_server_url + self.volunteer_registration_page) - self.assertEqual(self.driver.find_element_by_xpath("id('div_id_city')/div/p/strong").text, - 'Enter a valid value.') + self.assertNotEqual(self.driver.find_elements_by_class_name('help-block'), + None) + self.assertEqual(self.driver.find_element_by_xpath("id('div_id_unlisted_organization')/div/p/strong").text, + "Enter a valid value.") + + def test_field_value_retention(self): + + # send invalid value in fields - first name, state, phone, organization + self.driver.get(self.live_server_url + self.volunteer_registration_page) + + self.driver.find_element_by_id('id_username').send_keys('volunteer-username') + self.driver.find_element_by_id('id_password').send_keys('volunteer-password!@#$%^&*()_') + self.driver.find_element_by_id('id_first_name').send_keys('volunteer-first-name-3') + self.driver.find_element_by_id('id_last_name').send_keys('volunteer-last-name') + self.driver.find_element_by_id('id_email').send_keys('email1@systers.org') + self.driver.find_element_by_id('id_address').send_keys('volunteer-address') + self.driver.find_element_by_id('id_city').send_keys('volunteer-city') + self.driver.find_element_by_id('id_state').send_keys('volunteer-state!') + self.driver.find_element_by_id('id_country').send_keys('volunteer-country') + self.driver.find_element_by_id('id_phone_number').send_keys('99999.!9999') + self.driver.find_element_by_id('id_unlisted_organization').send_keys('@#volunteer-org') + self.driver.find_element_by_xpath('//form[1]').submit() + + # verify that user wasn't registered and that field values are not erased + self.assertEqual(self.driver.current_url, self.live_server_url + self.volunteer_registration_page) + self.assertEqual(self.driver.find_element_by_id('id_username').get_attribute('value'),'volunteer-username') + self.assertEqual(self.driver.find_element_by_id('id_first_name').get_attribute('value'),'volunteer-first-name-3') + self.assertEqual(self.driver.find_element_by_id('id_last_name').get_attribute('value'),'volunteer-last-name') + self.assertEqual(self.driver.find_element_by_id('id_email').get_attribute('value'),'email1@systers.org') + self.assertEqual(self.driver.find_element_by_id('id_address').get_attribute('value'),'volunteer-address') + self.assertEqual(self.driver.find_element_by_id('id_city').get_attribute('value'),'volunteer-city') + self.assertEqual(self.driver.find_element_by_id('id_state').get_attribute('value'),'volunteer-state!') + self.assertEqual(self.driver.find_element_by_id('id_country').get_attribute('value'),'volunteer-country') + self.assertEqual(self.driver.find_element_by_id('id_phone_number').get_attribute('value'),'99999.!9999') + self.assertEqual(self.driver.find_element_by_id('id_unlisted_organization').get_attribute('value'),'@#volunteer-org') + + # send invalid value in fields - last name, address, city, country + self.driver.get(self.live_server_url + self.volunteer_registration_page) + + self.driver.find_element_by_id('id_username').send_keys('volunteer-username') + self.driver.find_element_by_id('id_password').send_keys('volunteer-password!@#$%^&*()_') + self.driver.find_element_by_id('id_first_name').send_keys('volunteer-first-name') + self.driver.find_element_by_id('id_last_name').send_keys('volunteer-last-name-3') + self.driver.find_element_by_id('id_email').send_keys('email1@systers.org') + self.driver.find_element_by_id('id_address').send_keys('volunteer-address$@!') + self.driver.find_element_by_id('id_city').send_keys('volunteer-city#$') + self.driver.find_element_by_id('id_state').send_keys('volunteer-state') + self.driver.find_element_by_id('id_country').send_keys('volunteer-country 15') + self.driver.find_element_by_id('id_phone_number').send_keys('999999999') + self.driver.find_element_by_id('id_unlisted_organization').send_keys('volunteer-org') + self.driver.find_element_by_xpath('//form[1]').submit() + + # verify that user wasn't registered and that field values are not erased + self.assertEqual(self.driver.current_url, self.live_server_url + self.volunteer_registration_page) + self.assertEqual(self.driver.find_element_by_id('id_username').get_attribute('value'),'volunteer-username') + self.assertEqual(self.driver.find_element_by_id('id_first_name').get_attribute('value'),'volunteer-first-name') + self.assertEqual(self.driver.find_element_by_id('id_last_name').get_attribute('value'),'volunteer-last-name-3') + self.assertEqual(self.driver.find_element_by_id('id_email').get_attribute('value'),'email1@systers.org') + self.assertEqual(self.driver.find_element_by_id('id_address').get_attribute('value'),'volunteer-address$@!') + self.assertEqual(self.driver.find_element_by_id('id_city').get_attribute('value'),'volunteer-city#$') + self.assertEqual(self.driver.find_element_by_id('id_state').get_attribute('value'),'volunteer-state') + self.assertEqual(self.driver.find_element_by_id('id_country').get_attribute('value'),'volunteer-country 15') + self.assertEqual(self.driver.find_element_by_id('id_phone_number').get_attribute('value'),'999999999') + self.assertEqual(self.driver.find_element_by_id('id_unlisted_organization').get_attribute('value'),'volunteer-org') +