def test_search_job_state_present(self): """ tests for search results on the basis of state """ event_obj = register_event_utility() state_name = 'Uttarakhand' state = get_state_by_name(state_name) event_obj.state = state 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 state parameters = { 'name': '', 'date_from': '', 'date_to': '', 'city': '', 'state': 'Uttarakhand', '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_state_present(self): """ tests for search results on the basis of event state """ event = register_event_utility() state_name = 'Uttarakhand' state = get_state_by_name(state_name) event.state = state 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 state sign_up_page.go_to_sign_up_page() parameters = parameters = { 'name': '', 'date_from': '', 'date_to': '', 'city': '', 'state': 'Uttarakhand', 'country': '' } sign_up_page.fill_search_form(parameters) # Verify that the event shows up self.assertEqual(sign_up_page.get_event_name(), 'event')
def setup_test_data(cls): cls.e1 = e1 cls.j1 = j1 cls.j2 = j2 cls.s1 = s1 cls.s2 = s2 cls.s3 = s3 country_name = 'United States' country = get_country_by_name(country_name) state_name = 'Washington' state = get_state_by_name(state_name) city_name = 'Bothell' city = get_city_by_name(city_name) # Create volunteers who will register for the shifts volunteer_1 = { 'username': '******', 'first_name': "Yoshi", 'last_name': "Turtle", 'address': "Mario Land", 'city': city, 'state': state, 'country': country, 'phone_number': "2374983247", 'email': "*****@*****.**" } volunteer_2 = { 'username': '******', 'first_name': "John", 'last_name': "Doe", 'address': "7 Alpine Street", 'city': city, 'state': state, 'country': country, 'phone_number': "23454545", 'email': "*****@*****.**" } volunteer_3 = { 'username': '******', 'first_name': "Ash", 'last_name': "Ketchum", 'address': "Pallet Town", 'city': city, 'state': state, 'country': country, 'phone_number': "23454545", 'email': "*****@*****.**" } org_name = 'Locale' cls.org_obj = create_organization_with_details(org_name) cls.v1 = create_volunteer_with_details(volunteer_1, cls.org_obj) cls.v2 = create_volunteer_with_details(volunteer_2, cls.org_obj) cls.v3 = create_volunteer_with_details(volunteer_3, cls.org_obj)
def setUpClass(cls): country_name = 'India' country = get_country_by_name(country_name) state_name = 'Uttarakhand' state = get_state_by_name(state_name) city_name = 'Roorkee' city = get_city_by_name(city_name) volunteer_1 = { 'username': '******', 'first_name': "Yoshi", 'last_name': "Turtle", 'address': "Mario Land", 'city': city, 'state': state, 'country': country, 'phone_number': "2374983247", 'email': "*****@*****.**" } volunteer_2 = { 'username': '******', 'first_name': "John", 'last_name': "Doe", 'address': "7 Alpine Street", 'city': city, 'state': state, 'country': country, 'phone_number': "23454545", 'email': "*****@*****.**" } volunteer_3 = { 'username': '******', 'first_name': "Ash", 'last_name': "Ketchum", 'address': "Pallet Town", 'city': city, 'state': state, 'country': country, 'phone_number': "23454545", 'email': "*****@*****.**" } o1 = 'Apple' cls.org_obj = create_organization_with_details(o1) cls.v1 = create_volunteer_with_details(volunteer_1, cls.org_obj) o2 = 'Google' cls.org_obj = create_organization_with_details(o2) cls.v2 = create_volunteer_with_details(volunteer_2, cls.org_obj) o3 = 'Government of Canada' cls.org_obj = create_organization_with_details(o3) cls.org_obj.approved_status = 0 cls.org_obj.save() cls.v3 = create_volunteer_with_details(volunteer_3, cls.org_obj)
def setup_test_data(cls): cls.e1 = e1 cls.j1 = j1 shift_1 = { 'date': "2012-10-28", 'start_time': "9:00", 'end_time': "15:00", 'max_volunteers': 1, 'job': cls.j1, 'address': 'shift-address', 'venue': 'shift-venue' } shift_2 = { 'date': "2012-10-25", 'start_time': "10:00", 'end_time': "16:00", 'max_volunteers': 2, 'job': cls.j1, 'address': 'shift-address', 'venue': 'shift-venue' } cls.s1 = create_shift_with_details(shift_1) cls.s2 = create_shift_with_details(shift_2) city_name = 'Roorkee' state_name = 'Uttarakhand' country_name = 'India' country = get_country_by_name(country_name) state = get_state_by_name(state_name) city = get_city_by_name(city_name) volunteer_1 = { 'username': '******', 'first_name': "Aaron", 'last_name': "Turtle", 'address': "Mario Land", 'city': city, 'state': state, 'country': country, 'phone_number': "2374983247", 'email': "*****@*****.**" } org_name = 'organization' cls.org_obj = create_organization_with_details(org_name) cls.v1 = create_volunteer_with_details(volunteer_1, cls.org_obj)
def setUpClass(cls): country_name = 'United States' country = get_country_by_name(country_name) state_name = 'Washington' state = get_state_by_name(state_name) city_name = 'Bothell' city = get_city_by_name(city_name) volunteer_1 = { 'username': '******', 'first_name': "Yoshi", 'last_name': "Turtle", 'address': "Mario Land", 'city': city, 'state': state, 'country': country, 'phone_number': "2374983247", 'email': "*****@*****.**" } volunteer_2 = { 'username': '******', 'first_name': "John", 'last_name': "Doe", 'address': "7 Alpine Street", 'city': city, 'state': state, 'country': country, 'phone_number': "23454545", 'email': "*****@*****.**" } volunteer_3 = { 'username': '******', 'first_name': "Ash", 'last_name': "Ketchum", 'address': "Pallet Town", 'city': city, 'state': state, 'country': country, 'phone_number': "23454545", 'email': "*****@*****.**" } org_name = 'volunteer-organization' cls.org_obj = create_organization_with_details(org_name) cls.v1 = create_volunteer_with_details(volunteer_1, cls.org_obj) cls.v2 = create_volunteer_with_details(volunteer_2, cls.org_obj) cls.v3 = create_volunteer_with_details(volunteer_3, cls.org_obj)
def setUp(self): """ Method consists of statements to be executed before start of each test """ e1 = create_event_with_details(self.event_1) e2 = create_event_with_details(self.event_2) country = create_country() state = create_state() city = create_city() e1.city = city e1.state = state e1.country = country e1.save() create_admin() city_name = 'Bothell' second_city = get_city_by_name(city_name) state_name = 'Washington' second_state = get_state_by_name(state_name) country_name = 'United States' second_country = get_country_by_name(country_name) e2.city = second_city e2.state = second_state e2.country = second_country e2.save() job_1 = { 'name': 'job-name', 'start_date': '2050-06-10', 'end_date': '2050-06-11', 'description': 'job-description', 'event': e1 } job_2 = { 'name': 'job-nameq', 'start_date': '2050-05-15', 'end_date': '2050-05-20', 'description': 'job-description', 'event': e2 } j1 = create_job_with_details(job_1) j2 = create_job_with_details(job_2) self.login_admin() self.wait_for_home_page()
def test_send_reminder(self): city_name = 'Roorkee' state_name = 'Uttarakhand' country_name = 'India' country = get_country_by_name(country_name) state = get_state_by_name(state_name) city = get_city_by_name(city_name) location = { 'address': "Test address", 'city': city, 'state': state, 'country': country, 'venue': "Near the south entrance" } set_shift_location(self.s1, location) set_shift_location(self.s2, location) set_shift_location(self.s3, location) self.v1.reminder_days = 1 self.v2.reminder_days = 7 self.v1.save() self.v2.save() # sign up register(self.v1.id, self.s1.id) register(self.v1.id, self.s2.id) register(self.v1.id, self.s3.id) register(self.v2.id, self.s1.id) register(self.v2.id, self.s2.id) register(self.v2.id, self.s3.id) # test typical case result = send_reminder() self.assertEqual(result, 2)
def setup_test_data(cls): cls.o1 = Organization(name="Google") cls.o2 = Organization(name="Yahoo") cls.o1.save() cls.o2.save() city_name = 'Bothell' state_name = 'Washington' country_name = 'United States' country = get_country_by_name(country_name) state = get_state_by_name(state_name) city = get_city_by_name(city_name) volunteer_1 = { 'username': '******', 'first_name': "Yoshi", 'last_name': "Turtle", 'address': "Mario Land", 'city': city, 'state': state, 'country': country, 'phone_number': "2374983247", 'email': "*****@*****.**" } cls.v1 = create_volunteer_with_details(volunteer_1, cls.o2)
def test_search_jobs(self): """ tests search result for partial, exact and other searches on events """ # if no search parameters are given, # it returns all jobs search_list = search_jobs("", "", "", "", "", "", "") self.assertNotEqual(search_list, False) self.assertEqual(len(search_list), 3) self.assertIn(self.j1, search_list) self.assertIn(self.j2, search_list) self.assertIn(self.j3, search_list) search_list = search_jobs(None, None, None, None, None, None, None) self.assertNotEqual(search_list, False) self.assertEqual(len(search_list), 3) self.assertIn(self.j1, search_list) self.assertIn(self.j2, search_list) self.assertIn(self.j3, search_list) # test exact search country_name = 'India' state_name = 'Uttarakhand' city_name = 'Roorkee' country = get_country_by_name(country_name) state = get_state_by_name(state_name) city = get_city_by_name(city_name) e1.city = city e1.state = state e1.country = country e1.save() search_list = search_jobs('Software Developer', '2012-10-22', '2012-10-25', 'Roorkee', 'Uttarakhand', 'India', 'Software Conference') self.assertNotEqual(search_list, False) self.assertEqual(len(search_list), 1) self.assertIn(self.j1, search_list) self.assertNotIn(self.j2, search_list) self.assertNotIn(self.j3, search_list) # test partial search search_list = search_jobs("Systems Administrator", None, None, None, None, None, None) self.assertNotEqual(search_list, False) self.assertEqual(len(search_list), 1) self.assertIn(self.j2, search_list) self.assertNotIn(self.j3, search_list) self.assertNotIn(self.j1, search_list) e2.city = city e2.save() search_list = search_jobs(None, None, None, 'Roorkee', None, None, None) self.assertNotEqual(search_list, False) self.assertEqual(len(search_list), 3) self.assertIn(self.j1, search_list) self.assertIn(self.j2, search_list) self.assertIn(self.j3, search_list) # test no search matches search_list = search_jobs("Billy", "2015-07-25", "2015-08-08", "Quebec", "Canada", "Ubisoft", "Program") self.assertEqual(len(search_list), 0) self.assertNotIn(self.j1, search_list) self.assertNotIn(self.j2, search_list) self.assertNotIn(self.j3, search_list)
def setup_test_data(cls): cls.e1 = e1 cls.j1 = j1 cls.j2 = j2 shift_1 = { 'date': "2015-08-23", 'start_time': "9:00", 'end_time': "15:00", 'max_volunteers': 1, 'job': cls.j1, 'address': 'shift-address', 'venue': 'shift-venue' } shift_2 = { 'date': date.today() + timedelta(7), # one week ahead 'start_time': "10:00", 'end_time': "16:00", 'max_volunteers': 2, 'job': cls.j1, 'address': 'shift-address', 'venue': 'shift-venue' } shift_3 = { 'date': date.today() + timedelta(1), # a day ahead 'start_time': "12:00", 'end_time': "18:00", 'max_volunteers': 2, 'job': cls.j2, 'address': 'shift-address', 'venue': 'shift-venue' } cls.s1 = create_shift_with_details(shift_1) cls.s2 = create_shift_with_details(shift_2) cls.s3 = create_shift_with_details(shift_3) country_name = 'United States' country = get_country_by_name(country_name) state_name = 'Washington' state = get_state_by_name(state_name) city_name = 'Bothell' city = get_city_by_name(city_name) volunteer_1 = { 'username': '******', 'first_name': "Jake", 'last_name': "Flamoy", 'address': "Mario Land", 'city': city, 'state': state, 'country': country, 'phone_number': "2374983247", 'email': "*****@*****.**" } volunteer_2 = { 'username': '******', 'first_name': "Dorothy", 'last_name': "Flamoy", 'address': "7 Alpine Street", 'city': city, 'state': state, 'country': country, 'phone_number': "23454545", 'email': "*****@*****.**" } org_name = 'Google' cls.org_obj = create_organization_with_details(org_name) cls.v1 = create_volunteer_with_details(volunteer_1, cls.org_obj) cls.v2 = create_volunteer_with_details(volunteer_2, cls.org_obj)
def test_intersection_of_all_fields(self): """ Test search results for different combinations of event name, start date, end date, city, state, country and job """ search_page = self.search_page search_page.live_server_url = self.live_server_url credentials_1 = { 'name': 'event-name', 'start_date': '2015-01-01', 'end_date': '2015-03-01', 'description': 'event-description', 'address': 'event-address', 'venue': 'event-venue' } country = create_country() state = create_state() city = create_city() event_1 = create_event_with_details(credentials_1) event_1.country = country event_1.state = state event_1.city = city event_1.save() job = { 'name': 'job', 'start_date': '2015-02-01', 'end_date': '2015-02-15', 'description': 'descriptionq', 'event': event_1 } job_1 = create_job_with_details(job) credentials_2 = { 'name': 'event-nameq', 'start_date': '2015-02-01', 'end_date': '2015-04-01', 'description': 'event-description', 'address': 'event-address', 'venue': 'event-venue' } event_2 = create_event_with_details(credentials_2) country_name = 'United States' state_name = 'Washington' city_name = 'Bothell' second_country = get_country_by_name(country_name) second_state = get_state_by_name(state_name) second_city = get_city_by_name(city_name) event_2.country = second_country event_2.state = second_state event_2.city = second_city event_2.save() job = { 'name': 'jobq', 'start_date': '2015-02-02', 'end_date': '2015-02-15', 'description': 'job-description', 'event': event_2 } job_2 = create_job_with_details(job) expected_result_one = [ 'event-name', 'Jan.', '1,', '2015', 'March', '1,', '2015', 'Details', 'Edit', 'Delete' ] expected_result_two = [ 'event-nameq', 'Feb.', '1,', '2015', 'April', '1,', '2015', 'Details', 'Edit', 'Delete' ] search_page.navigate_to_event_search_page() search_page.search_name_field('event') search_page.search_start_date_field('2015-01-01') search_page.search_end_date_field('2015-04-01') search_page.search_state_field('Uttarakhand') search_page.search_country_field('India') 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.assertTrue(expected_result_one in result) search_page.search_name_field('event') search_page.search_country_field('wrong-country') search_page.search_job_field(job_1.id) search_page.submit_form() self.assertRaisesRegexp(NoSuchElementException, 'Unable to locate element: //table//tbody', search_page.get_search_results) search_page.search_state_field('event') 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_event_state_field(self): """ Test search results for event state field """ search_page = self.search_page search_page.live_server_url = self.live_server_url search_page.navigate_to_event_search_page() credentials_1 = { 'name': 'event-name', 'start_date': '2015-01-01', 'end_date': '2015-03-01', 'description': 'event-description', 'address': 'event-address', 'venue': 'event-venue' } event_1 = create_event_with_details(credentials_1) create_country() state = create_state() event_1.state = state event_1.save() credentials_2 = { 'name': 'event-nameq', 'start_date': '2015-02-01', 'end_date': '2015-04-01', 'description': 'event-description', 'address': 'event-address', 'venue': 'event-venue' } event_2 = create_event_with_details(credentials_2) state_name = 'Washington' second_state = get_state_by_name(state_name) event_2.state = second_state event_2.save() expected_result_one = [ 'event-name', 'Jan.', '1,', '2015', 'March', '1,', '2015', 'Details', 'Edit', 'Delete' ] expected_result_two = [ 'event-nameq', 'Feb.', '1,', '2015', 'April', '1,', '2015', 'Details', 'Edit', 'Delete' ] search_page.search_state_field('Uttarakhand') search_page.submit_form() search_results = search_page.get_search_results() result = search_page.get_results_list(search_results) self.assertEqual(len(result), 1) self.assertTrue(expected_result_one in result) search_page.search_state_field('Washington') search_page.submit_form() search_results = search_page.get_search_results() result = search_page.get_results_list(search_results) self.assertEqual(len(result), 1) self.assertTrue(expected_result_two in result) search_page.search_state_field('eve-') search_page.submit_form() self.assertRaisesRegexp(NoSuchElementException, 'Unable to locate element: //table//tbody', search_page.get_search_results) search_page.search_state_field('event-fail-test') search_page.submit_form() self.assertRaisesRegexp(NoSuchElementException, 'Unable to locate element: //table//tbody', search_page.get_search_results) search_page.search_state_field('!@#$%^&*()_') search_page.submit_form() self.assertNotEqual(search_page.get_help_block(), None)
def test_slots_remaining_in_shift(self): """ Test correct display of the remaining number of slots for shift. """ sign_up_page = self.sign_up_page manage_shift_page = self.manage_shift_page manage_shift_page.live_server_url = self.live_server_url # Register volunteers volunteer_1 = create_volunteer() city_name = 'Bothell' state_name = 'Washington' country_name = 'United States' city = get_city_by_name(city_name) state = get_state_by_name(state_name) country = get_country_by_name(country_name) volunteer_2 = { 'username': '******', 'first_name': 'volunteer-two', 'last_name': 'volunteer-two', 'address': 'volunteer-two', 'city': city, 'state': state, 'country': country, 'phone_number': '9999999999', 'email': '*****@*****.**', } org_name = 'Google' org_obj = create_organization_with_details(org_name) volunteer_2 = create_volunteer_with_details(volunteer_2, org_obj) shift = { 'date': '2050-05-20', 'start_time': '09:00', 'end_time': '15:00', 'max_volunteers': '1', 'address': 'shift-address', 'venue': 'venue-address', } shift_1 = self.create_shift(shift) # Open manage volunteer shift manage_shift_page.navigate_to_manage_shift_page() # Volunteer-one does not have any registered shifts manage_shift_page.select_volunteer(1) self.assertEqual(manage_shift_page.get_info_box(), manage_shift_page.no_volunteer_shift_message) manage_shift_page.assign_shift() # Events shown in table self.assertRaisesRegexp(NoSuchElementException, 'Unable to locate element: .alert-info', sign_up_page.get_info_box) manage_shift_page.navigate_to_shift_assignment_page() # Confirm on shift assignment to volunteer-one manage_shift_page.submit_form() self.assertRaisesRegexp(NoSuchElementException, 'Unable to locate element: .alert-danger', sign_up_page.get_danger_box) # Check shift assignment to volunteer-one manage_shift_page.navigate_to_manage_shift_page() manage_shift_page.select_volunteer(1) self.check_shift_details({ 'job': 'job name', 'date': 'May 20, 2050', 'start_time': '9 a.m.', 'end_time': '3 p.m.' }) # Open manage volunteer shift again to assign shift to volunteer two manage_shift_page.navigate_to_manage_shift_page() # Volunteer-two does not have any registered shifts manage_shift_page.select_volunteer(2) self.assertEqual(manage_shift_page.get_info_box(), manage_shift_page.no_volunteer_shift_message) manage_shift_page.assign_shift() # No events shown in table self.assertEqual(sign_up_page.get_info_box().text, sign_up_page.no_event_message)
def test_volunteer_country_field(self): """ Test volunteer search form using the country field of the volunteers. """ search_page = self.search_page search_page.live_server_url = self.live_server_url search_page.navigate_to_volunteer_search_page() 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) country_name = 'United States' state_name = 'Washington' city_name = 'Bothell' second_country = get_country_by_name(country_name) second_state = get_state_by_name(state_name) second_city = get_city_by_name(city_name) credentials_2 = { 'username': '******', 'first_name': 'volunteer-first-nameq', 'last_name': 'volunteer-last-nameq', 'address': 'volunteer-addressq', 'city': second_city, 'state': second_state, 'country': second_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) 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', 'Bothell,', 'Washington,', 'United', 'States', 'Washington,', 'United', 'States', 'United', 'States', 'volunteer-organizationq', '9999999999', '*****@*****.**', 'View' ] search_page.search_country_field('India') search_page.submit_form() search_results = search_page.get_search_results() result = search_page.get_results_list(search_results) self.assertEqual(len(result), 1) self.assertTrue(expected_result_one in result) search_page.search_country_field('United States') search_page.submit_form() search_results = search_page.get_search_results() result = search_page.get_results_list(search_results) self.assertEqual(len(result), 1) self.assertTrue(expected_result_two in result) search_page.search_country_field('vol-') search_page.submit_form() self.assertRaisesRegexp(NoSuchElementException, 'Unable to locate element: //table//tbody', search_page.get_search_results) search_page.search_country_field('volunteer-fail-test') search_page.submit_form() self.assertRaisesRegexp(NoSuchElementException, 'Unable to locate element: //table//tbody', search_page.get_search_results) search_page.search_country_field('!@#$%^&*()_') search_page.submit_form() self.assertNotEqual(search_page.get_help_block(), None)