def test_search_job_country_present(self): """ tests for search results on the basis of country """ event_obj = register_event_utility() country_name = 'India' country = get_country_by_name(country_name) event_obj.country = country event_obj.save() register_job_utility() register_shift_utility() sign_up_page = self.sign_up_page sign_up_page.live_server_url = self.live_server_url sign_up_page.navigate_to_sign_up() sign_up_page.click_to_view_jobs() # Enter correct country parameters = { 'name': '', 'date_from': '', 'date_to': '', 'city': '', 'state': '', 'country': 'India' } sign_up_page.fill_job_search_form(parameters) # Verify that the job shows up self.assertEqual(sign_up_page.get_job_name(), 'job')
def test_search_job_end_date_present(self): """ tests for search results on the basis of end date """ register_event_utility() register_job_utility() register_shift_utility() sign_up_page = self.sign_up_page sign_up_page.live_server_url = self.live_server_url sign_up_page.navigate_to_sign_up() sign_up_page.click_to_view_jobs() # Enter correct ending date parameters = { 'name': '', 'date_from': '', 'date_to': '06/15/2050', 'city': '', 'state': '', 'country': '' } sign_up_page.fill_job_search_form(parameters) # Verify that the job shows up self.assertEqual(sign_up_page.get_job_name(), 'job')
def test_search_event_country_present(self): """ tests for search results on the basis of event country """ event = register_event_utility() country_name = 'India' country = get_country_by_name(country_name) event.country = country event.save() register_job_utility() register_shift_utility() sign_up_page = self.sign_up_page sign_up_page.live_server_url = self.live_server_url # Enter correct country sign_up_page.go_to_sign_up_page() parameters = { 'name': '', 'date_from': '', 'date_to': '', 'city': '', 'state': '', 'country': 'India' } sign_up_page.fill_search_form(parameters) # Verify that the event shows up self.assertEqual(sign_up_page.get_event_name(), 'event')
def test_only_logged_shifts_appear_in_report(self): report_page = self.report_page report_page.live_server_url = self.live_server_url register_event_utility() register_job_utility() register_shift_utility() report_page.login_and_navigate_to_report_page() report_page.submit_form() self.assertEqual(report_page.get_alert_box_text(),report_page.no_results_message)
def test_signup_shifts_with_registered_shifts(self): registered_event = register_event_utility() registered_job = register_job_utility() registered_shift = register_shift_utility() sign_up_page = self.sign_up_page # Open Shift Sign Up sign_up_page.navigate_to_sign_up() # On event page sign_up_page.click_to_view_jobs() # On jobs page sign_up_page.click_to_view_shifts() # On shifts page sign_up_page.click_to_sign_up() # Confirm shift assignment sign_up_page.submit_form() with self.assertRaises(NoSuchElementException): sign_up_page.get_danger_box() # check shift signed up self.assertEqual(sign_up_page.get_signed_up_shift_text(), 'Upcoming Shifts') self.assertEqual(sign_up_page.get_shift_job(), 'job') self.assertEqual(sign_up_page.get_shift_date(), 'June 15, 2050') self.assertEqual(sign_up_page.get_shift_start_time(), '9 a.m.') self.assertEqual(sign_up_page.get_shift_end_time(), '3 p.m.')
def test_search_event_start_date_present(self): """ tests for search results on the basis of event start date """ register_event_utility() register_job_utility() register_shift_utility() sign_up_page = self.sign_up_page sign_up_page.live_server_url = self.live_server_url # Enter only correct starting date sign_up_page.go_to_sign_up_page() parameters = ['', '05/08/2050', '', '', '', ''] sign_up_page.fill_search_form(parameters) # Verify that the event shows up self.assertEqual(sign_up_page.get_event_name(), 'event')
def test_signup_for_same_shift_again(self): registered_event = register_event_utility() registered_job = register_job_utility() registered_shift = register_shift_utility() sign_up_page = self.sign_up_page # Open Shift Sign Up sign_up_page.navigate_to_sign_up() # Events shown in table with self.assertRaises(NoSuchElementException): sign_up_page.get_info_box() sign_up_page.click_to_view_jobs() # On jobs page sign_up_page.click_to_view_shifts() # On shifts page, Sign up this shift ! sign_up_page.click_to_sign_up() # Confirm on shift sign up sign_up_page.submit_form() with self.assertRaises(NoSuchElementException): sign_up_page.get_danger_box() # Sign up same shift again # Open Shift Sign Up sign_up_page.navigate_to_sign_up() # Events page self.assertEqual(sign_up_page.get_info_box().text, sign_up_page.no_event_message) with self.assertRaises(NoSuchElementException): sign_up_page.find_table_tag()
def test_search_job_start_date_present(self): """ tests for search results on the basis of start date """ register_event_utility() register_job_utility() register_shift_utility() sign_up_page = self.sign_up_page sign_up_page.live_server_url = self.live_server_url # Enter only correct starting date sign_up_page.navigate_to_sign_up() sign_up_page.click_to_view_jobs() parameters = ['', '05/10/2050', '', '', '', ''] sign_up_page.fill_job_search_form(parameters) # Verify that the job shows up self.assertEqual(sign_up_page.get_job_name(), 'job')
def test_search_job_name_present(self): """ tests for search results on the basis of job name """ register_event_utility() register_job_utility() register_shift_utility() sign_up_page = self.sign_up_page sign_up_page.live_server_url = self.live_server_url sign_up_page.navigate_to_sign_up() sign_up_page.click_to_view_jobs() # Enter name of the job parameters = ['job', '', '', '', '', ''] sign_up_page.fill_job_search_form(parameters) # Verify that the job shows up self.assertEqual(sign_up_page.get_job_name(), 'job')
def test_search_volunteers(self): register_event_utility() register_job_utility() shift = register_shift_utility() register_volunteer_for_shift_utility(shift, self.v1) # if no search parameters are given, # it returns all volunteers search_list = search_volunteers("", "", "", "", "", "", "", "") self.assertNotEqual(search_list, False) self.assertEqual(len(search_list), 3) self.assertIn(self.v1, search_list) self.assertIn(self.v2, search_list) self.assertIn(self.v3, search_list) search_list = search_volunteers(None, None, None, None, None, None, None, None) self.assertNotEqual(search_list, False) self.assertEqual(len(search_list), 3) self.assertIn(self.v1, search_list) self.assertIn(self.v2, search_list) self.assertIn(self.v3, search_list) # test exact search search_list = search_volunteers("Yoshi", "Turtle", "Nintendo Land", "Nintendo State", "Nintendo Nation", "Apple", "event", "job") self.assertNotEqual(search_list, False) self.assertEqual(len(search_list), 1) self.assertIn(self.v1, search_list) self.assertNotIn(self.v2, search_list) self.assertNotIn(self.v3, search_list) # test partial search search_list = search_volunteers("Yoshi", None, None, None, None, None, None, None) self.assertNotEqual(search_list, False) self.assertEqual(len(search_list), 1) self.assertIn(self.v1, search_list) self.assertNotIn(self.v2, search_list) self.assertNotIn(self.v3, search_list) search_list = search_volunteers(None, "Doe", None, None, None, None, None, None) self.assertNotEqual(search_list, False) self.assertEqual(len(search_list), 2) self.assertIn(self.v3, search_list) self.assertIn(self.v2, search_list) # test no search matches search_list = search_volunteers("Billy", "Doe", "Montreal", "Quebec", "Canada", "Ubisoft", "eventq", "jobq") self.assertEqual(len(search_list), 0) self.assertNotIn(self.v1, search_list) self.assertNotIn(self.v2, search_list) self.assertNotIn(self.v3, search_list)
def test_search_job_both_date_present(self): """ tests for search results on the basis of start and end date """ register_event_utility() register_job_utility() register_shift_utility() sign_up_page = self.sign_up_page sign_up_page.live_server_url = self.live_server_url sign_up_page.navigate_to_sign_up() sign_up_page.click_to_view_jobs() # Enter date range in which a job starts parameters = ['', '05/10/2050', '06/15/2050', '', '', ''] sign_up_page.fill_job_search_form(parameters) # Verify that the job shows up self.assertEqual(sign_up_page.get_job_name(), 'job')
def test_search_event_country_present(self): """ tests for search results on the basis of event country """ event = register_event_utility() event.country = 'event-country' event.save() register_job_utility() register_shift_utility() sign_up_page = self.sign_up_page sign_up_page.live_server_url = self.live_server_url # Enter correct country sign_up_page.go_to_sign_up_page() parameters = ['', '', '', '', '', 'event-country'] sign_up_page.fill_search_form(parameters) # Verify that the event shows up self.assertEqual(sign_up_page.get_event_name(), 'event')
def test_search_job_country_present(self): """ tests for search results on the basis of country """ event_obj = register_event_utility() event_obj.country = 'job-country' event_obj.save() register_job_utility() register_shift_utility() sign_up_page = self.sign_up_page sign_up_page.live_server_url = self.live_server_url sign_up_page.navigate_to_sign_up() sign_up_page.click_to_view_jobs() # Enter correct country parameters = ['', '', '', '', '', 'job-country'] sign_up_page.fill_job_search_form(parameters) # Verify that the job shows up self.assertEqual(sign_up_page.get_job_name(), 'job')
def test_search_event_both_date_present(self): """ tests for search results on the basis of event start date and end date """ register_event_utility() register_job_utility() register_shift_utility() sign_up_page = self.sign_up_page sign_up_page.live_server_url = self.live_server_url # Enter date range in which an event starts sign_up_page.go_to_sign_up_page() parameters = { 'name': '', 'date_from': '05/08/2050', 'date_to': '05/31/2050', 'city': '', 'state': '', 'country': '' } sign_up_page.fill_search_form(parameters) # Verify that the event shows up self.assertEqual(sign_up_page.get_event_name(), 'event')
def test_search_event_name_present(self): """ tests for search results on the basis of event name """ register_event_utility() register_job_utility() register_shift_utility() sign_up_page = self.sign_up_page sign_up_page.live_server_url = self.live_server_url # Enter name of the event sign_up_page.go_to_sign_up_page() parameters = { 'name': 'event', 'date_from': '', 'date_to': '', 'city': '', 'state': '', 'country': '' } sign_up_page.fill_search_form(parameters) # Verify that the event shows up self.assertEqual(sign_up_page.get_event_name(), 'event')
def test_get_future_shifts_by_volunteer_id(self): """ Uses shifts s2, s4 and volunteer v1 """ register_event_utility() register_job_utility() s4 = register_shift_utility() # sign up register(self.v1.id, s4.id) register(self.v1.id, self.s2.id) start_time = datetime.time(hour=9, minute=0) end_time = datetime.time(hour=10, minute=0) # test typical case shift_list = get_future_shifts_by_volunteer_id(self.v1.id) self.assertIsNotNone(shift_list) self.assertNotEqual(shift_list, False) self.assertEqual(len(shift_list), 1) self.assertNotIn(self.s2, shift_list) self.assertIn(s4, shift_list)
def test_signup_shifts_with_registered_shifts(self): created_event = register_event_utility() created_job = register_job_utility() created_shift = register_shift_utility() sign_up_page = self.sign_up_page # open Shift Sign Up sign_up_page.navigate_to_sign_up() # on event page sign_up_page.click_to_view_jobs() # on jobs page sign_up_page.click_to_view_shifts() # on shifts page sign_up_page.click_to_sign_up() # confirm shift assignment sign_up_page.submit_form() with self.assertRaises(NoSuchElementException): sign_up_page.get_danger_box() # check shift signed up self.assertEqual(sign_up_page.get_signed_up_shift_text(), 'Upcoming Shifts') self.assertEqual(sign_up_page.get_shift_job(), 'job') self.assertEqual(sign_up_page.get_shift_date(), 'June 15, 2017') self.assertEqual(sign_up_page.get_shift_start_time(), '9 a.m.') self.assertEqual(sign_up_page.get_shift_end_time(), '3 p.m.') # database check to ensure volunteer has signed up for the shift self.assertEqual(len(VolunteerShift.objects.all()), 1) self.assertNotEqual( len( VolunteerShift.objects.filter(volunteer_id=self.volunteer.id, shift_id=created_shift.id)), 0)
def test_volunteer_job_field(self): """ Test volunteer search form using the job field of the volunteers. """ search_page = self.search_page search_page.live_server_url = self.live_server_url credentials_1 = [ 'volunteer-username', 'volunteer-first-name', 'volunteer-last-name', 'volunteer-address', 'volunteer-city', 'volunteer-state', 'volunteer-country', '9999999999', '*****@*****.**' ] org_name = 'volunteer-organization' org_obj = create_organization_with_details(org_name) volunteer_1 = create_volunteer_with_details(credentials_1, org_obj) credentials_2 = [ 'volunteer-usernameq', 'volunteer-first-nameq', 'volunteer-last-nameq', 'volunteer-addressq', 'volunteer-cityq', 'volunteer-stateq', 'volunteer-countryq', '9999999999', '*****@*****.**' ] org_name = 'volunteer-organizationq' org_obj = create_organization_with_details(org_name) volunteer_2 = create_volunteer_with_details(credentials_2, org_obj) register_event_utility() register_job_utility() shift = register_shift_utility() expected_result_one = ['volunteer-first-name', 'volunteer-last-name', 'volunteer-address', 'volunteer-city', 'volunteer-state', 'volunteer-country', 'volunteer-organization', '9999999999', '*****@*****.**', 'View' ] expected_result_two = ['volunteer-first-nameq', 'volunteer-last-nameq', 'volunteer-addressq', 'volunteer-cityq', 'volunteer-stateq', 'volunteer-countryq', 'volunteer-organizationq', '9999999999', '*****@*****.**', 'View' ] # volunteer_1 and volunteer_2 registered for job register_volunteer_for_shift_utility(shift, volunteer_1) register_volunteer_for_shift_utility(shift, volunteer_2) # search job search_page.navigate_to_volunteer_search_page() search_page.search_job_field("job") search_page.submit_form() search_results = search_page.get_search_results() result = search_page.get_results_list(search_results) self.assertEqual(len(result), 2) self.assertTrue(expected_result_one in result) self.assertTrue(expected_result_two in result) # search incorrect job search_page.navigate_to_volunteer_search_page() search_page.search_job_field("wrong-job") search_page.submit_form() self.assertRaisesRegexp(NoSuchElementException, 'Unable to locate element: //table//tbody', search_page.get_search_results)
def test_intersection_of_all_fields(self): """ Test volunteer search form using multiple fields of the volunteers. """ search_page = self.search_page search_page.live_server_url = self.live_server_url credentials_1 = [ 'volunteer-username', 'VOLUNTEER-FIRST-NAME', 'volunteer-last-name', 'volunteer-address', 'volunteer-city', 'volunteer-state', 'volunteer-country', '9999999999', '*****@*****.**' ] org_name = 'volunteer-organization' org_obj = create_organization_with_details(org_name) volunteer_1 = create_volunteer_with_details(credentials_1, org_obj) credentials_2 = [ 'volunteer-usernameq', 'volunteer-first-name', 'volunteer-last-nameq', 'volunteer-addressq', 'volunteer-cityq', 'volunteer-stateq', 'volunteer-countryq', '9999999999', '*****@*****.**' ] org_name = 'volunteer-organizationq' org_obj = create_organization_with_details(org_name) volunteer_2 = create_volunteer_with_details(credentials_2, org_obj) search_page.navigate_to_volunteer_search_page() search_page.search_first_name_field('volunteer') search_page.search_last_name_field('volunteer') search_page.search_city_field('volunteer') search_page.search_state_field('volunteer') search_page.search_country_field('volunteer') search_page.search_organization_field('volunteer') search_page.submit_form() search_results = search_page.get_search_results() result = search_page.get_results_list(search_results) expected_result_one = ['VOLUNTEER-FIRST-NAME', 'volunteer-last-name', 'volunteer-address', 'volunteer-city', 'volunteer-state', 'volunteer-country', 'volunteer-organization', '9999999999', '*****@*****.**', 'View' ] expected_result_two = ['volunteer-first-name', 'volunteer-last-nameq', 'volunteer-addressq', 'volunteer-cityq', 'volunteer-stateq', 'volunteer-countryq', 'volunteer-organizationq', '9999999999', '*****@*****.**', 'View' ] register_event_utility() register_job_utility() shift = register_shift_utility() register_volunteer_for_shift_utility(shift, volunteer_1) register_volunteer_for_shift_utility(shift, volunteer_2) search_page.navigate_to_volunteer_search_page() search_page.search_first_name_field('volunteer') search_page.search_last_name_field('volunteer') search_page.search_city_field('volunteer') search_page.search_state_field('volunteer') search_page.search_country_field('volunteer') search_page.search_organization_field('volunteer') search_page.search_event_field('event') search_page.search_job_field('job') search_page.submit_form() search_results = search_page.get_search_results() result = search_page.get_results_list(search_results) self.assertEqual(len(result), 2) self.assertTrue(expected_result_one in result) self.assertTrue(expected_result_two in result) search_page.search_first_name_field('volunteer') search_page.search_country_field('wrong-country') search_page.search_organization_field('org') search_page.submit_form() self.assertRaisesRegexp(NoSuchElementException, 'Unable to locate element: //table//tbody', search_page.get_search_results) search_page.search_last_name_field('volunteer') search_page.search_city_field('wrong-city') search_page.submit_form() self.assertRaisesRegexp(NoSuchElementException, 'Unable to locate element: //table//tbody', search_page.get_search_results)
def test_intersection_of_all_fields(self): """ Test volunteer search form using multiple fields of the volunteers. """ search_page = self.search_page search_page.live_server_url = self.live_server_url country = create_country() state = create_state() city = create_city() credentials_1 = { 'username': '******', 'first_name': 'volunteer-first-name', 'last_name': 'volunteer-last-name', 'address': 'volunteer-address', 'city': city, 'state': state, 'country': country, 'phone_number': '9999999999', 'email': '*****@*****.**' } org_name = 'volunteer-organization' org_obj = create_organization_with_details(org_name) volunteer_1 = create_volunteer_with_details(credentials_1, org_obj) credentials_2 = { 'username': '******', 'first_name': 'volunteer-first-nameq', 'last_name': 'volunteer-last-nameq', 'address': 'volunteer-addressq', 'city': city, 'state': state, 'country': country, 'phone_number': '9999999999', 'email': '*****@*****.**' } org_name = 'volunteer-organizationq' org_obj = create_organization_with_details(org_name) volunteer_2 = create_volunteer_with_details(credentials_2, org_obj) search_page.navigate_to_volunteer_search_page() search_page.search_first_name_field('volunteer') search_page.search_last_name_field('volunteer') search_page.search_city_field('Roorkee') search_page.search_state_field('Uttarakhand') search_page.search_country_field('India') search_page.search_organization_field('volunteer') search_page.submit_form() search_results = search_page.get_search_results() result = search_page.get_results_list(search_results) register_event_utility() register_job_utility() shift = register_shift_utility() register_volunteer_for_shift_utility(shift, volunteer_1) register_volunteer_for_shift_utility(shift, volunteer_2) expected_result_one = [ 'volunteer-first-name', 'volunteer-last-name', 'volunteer-address', 'Roorkee,', 'Uttarakhand,', 'India', 'Uttarakhand,', 'India', 'India', 'volunteer-organization', '9999999999', '*****@*****.**', 'View' ] expected_result_two = [ 'volunteer-first-nameq', 'volunteer-last-nameq', 'volunteer-addressq', 'Roorkee,', 'Uttarakhand,', 'India', 'Uttarakhand,', 'India', 'India', 'volunteer-organizationq', '9999999999', '*****@*****.**', 'View' ] search_page.navigate_to_volunteer_search_page() search_page.search_first_name_field('volunteer') search_page.search_last_name_field('volunteer') search_page.search_city_field('Roorkee') search_page.search_state_field('Uttarakhand') search_page.search_country_field('India') search_page.search_organization_field('volunteer') search_page.search_event_field('event') search_page.search_job_field('job') search_page.submit_form() search_results = search_page.get_search_results() result = search_page.get_results_list(search_results) self.assertEqual(len(result), 2) self.assertTrue(expected_result_one in result) self.assertTrue(expected_result_two in result) search_page.search_first_name_field('volunteer') search_page.search_country_field('wrong-country') search_page.search_organization_field('org') search_page.submit_form() self.assertRaisesRegexp(NoSuchElementException, 'Unable to locate element: //table//tbody', search_page.get_search_results) search_page.search_last_name_field('volunteer') search_page.search_city_field('wrong-city') search_page.submit_form() self.assertRaisesRegexp(NoSuchElementException, 'Unable to locate element: //table//tbody', search_page.get_search_results)