def setup_test_data(cls): cls.e1 = e1 cls.j1 = j1 cls.j2 = j2 cls.s1 = s1 cls.s2 = s2 cls.s3 = s3 # Create volunteers who will register for the shifts volunteer_1 = [ 'Yoshi', "Yoshi", "Turtle", "Mario Land", "Nintendo Land", "Nintendo State", "Nintendo Nation", "2374983247", "*****@*****.**" ] volunteer_2 = [ 'John', "John", "Doe", "7 Alpine Street", "Maplegrove", "Wyoming", "USA", "23454545", "*****@*****.**" ] volunteer_3 = [ 'Ash', "Ash", "Ketchum", "Pallet Town", "Kanto", "Gameboy", "Japan", "23454545", "*****@*****.**" ] 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 setup_test_data(cls): cls.e1 = e1 cls.e2 = e2 cls.e3 = e3 cls.e4 = e4 cls.e5 = e5 cls.s1 = s1 cls.s2 = s2 cls.s3 = s3 cls.s4 = s4 volunteer_1 = [ 'Yoshi', "Yoshi", "Turtle", "Mario Land", "Nintendo Land", "Nintendo State", "Nintendo Nation", "2374983247", "*****@*****.**" ] volunteer_2 = [ 'John', "John", "Doe", "7 Alpine Street", "Maplegrove", "Wyoming", "USA", "23454545", "*****@*****.**" ] volunteer_3 = [ 'Ash', "Ash", "Ketchum", "Pallet Town", "Kanto", "Gameboy", "Japan", "23454545", "*****@*****.**" ] 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 setUpClass(cls): volunteer_1 = [ 'Yoshi', "Yoshi", "Turtle", "Mario Land", "Nintendo Land", "Nintendo State", "Nintendo Nation", "2374983247", "*****@*****.**" ] volunteer_2 = [ 'John', "John", "Doe", "7 Alpine Street", "Maplegrove", "Wyoming", "USA", "23454545", "*****@*****.**" ] volunteer_3 = [ 'Ash', "Ash", "Doe", "Pallet Town", "Kanto", "Gameboy", "Japan", "23454545", "*****@*****.**" ] 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.e2 = e2 cls.e3 = e3 cls.e4 = e4 cls.e5 = e5 cls.s1 = s1 cls.s2 = s2 cls.s3 = s3 cls.s4 = s4 volunteer_1 = [ 'Yoshi', "Yoshi", "Turtle", "Mario Land", "Nintendo Land", "Nintendo State", "Nintendo Nation", "2374983247", "*****@*****.**" ] volunteer_2 = [ 'John', "John", "Doe", "7 Alpine Street", "Maplegrove", "Wyoming", "USA", "23454545", "*****@*****.**" ] volunteer_3 = [ 'Ash', "Ash", "Ketchum", "Pallet Town", "Kanto", "Gameboy", "Japan", "23454545", "*****@*****.**" ] 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_test_data(cls): cls.e1 = e1 cls.j1 = j1 cls.j2 = j2 shift_1 = ["2015-08-23", "9:00", "15:00", 1, cls.j1] shift_2 = [date.today() + timedelta(7), "10:00", "16:00", 2, cls.j1] # one week date shift_3 = [date.today() + timedelta(1), "12:00", "18:00", 2, cls.j2] # tomorrow date cls.s1 = create_shift_with_details(shift_1) cls.s2 = create_shift_with_details(shift_2) cls.s3 = create_shift_with_details(shift_3) volunteer_1 = [ 'Jake', "Jake", "Flamoy", "Mario Land", "Nintendo Land", "Nintendo State", "Nintendo Nation", "2374983247", "*****@*****.**" ] volunteer_2 = [ 'Dora', "Dorothy", "Flamoy", "7 Alpine Street", "Maplegrove", "Wyoming", "USA", "23454545", "*****@*****.**" ] 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 setup_test_data(cls): cls.e1 = e1 cls.j1 = j1 cls.j2 = j2 cls.s1 = s1 cls.s2 = s2 cls.s3 = s3 # Create volunteers who will register for the shifts volunteer_1 = [ 'Yoshi', "Yoshi", "Turtle", "Mario Land", "Nintendo Land", "Nintendo State", "Nintendo Nation", "2374983247", "*****@*****.**" ] volunteer_2 = [ 'John', "John", "Doe", "7 Alpine Street", "Maplegrove", "Wyoming", "USA", "23454545", "*****@*****.**" ] volunteer_3 = [ 'Ash', "Ash", "Ketchum", "Pallet Town", "Kanto", "Gameboy", "Japan", "23454545", "*****@*****.**" ] cls.v1 = create_volunteer_with_details(volunteer_1) cls.v2 = create_volunteer_with_details(volunteer_2) cls.v3 = create_volunteer_with_details(volunteer_3)
def setup_test_data(cls): cls.e1 = e1 cls.j1 = j1 cls.j2 = j2 shift_1 = ["2015-08-23", "9:00", "15:00", 1, cls.j1] shift_2 = [date.today() + timedelta(7), "10:00", "16:00", 2, cls.j1] # one week date shift_3 = [date.today() + timedelta(1), "12:00", "18:00", 2, cls.j2] # tomorrow date cls.s1 = create_shift_with_details(shift_1) cls.s2 = create_shift_with_details(shift_2) cls.s3 = create_shift_with_details(shift_3) volunteer_1 = [ 'Jake', "Jake", "Flamoy", "Mario Land", "Nintendo Land", "Nintendo State", "Nintendo Nation", "2374983247", "*****@*****.**" ] volunteer_2 = [ 'Dora', "Dorothy", "Flamoy", "7 Alpine Street", "Maplegrove", "Wyoming", "USA", "23454545", "*****@*****.**" ] cls.v1 = create_volunteer_with_details(volunteer_1) cls.v2 = create_volunteer_with_details(volunteer_2)
def setUpClass(cls): volunteer_1 = [ 'Yoshi', "Yoshi", "Turtle", "Mario Land", "Nintendo Land", "Nintendo State", "Nintendo Nation", "2374983247", "*****@*****.**" ] volunteer_2 = [ 'John', "John", "Doe", "7 Alpine Street", "Maplegrove", "Wyoming", "USA", "23454545", "*****@*****.**" ] volunteer_3 = [ 'Ash', "Ash", "Doe", "Pallet Town", "Kanto", "Gameboy", "Japan", "23454545", "*****@*****.**" ] 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 cls.j3 = j3 # job with no shifts cls.j2 = j2 # job with shift which has no slot job_4 = ["Information Technologist","2012-11-2","2012-12-2","An IT job",e1] cls.j4 = create_job_with_details(job_4) shift_1 = ["2012-10-23","1:00","3:00",1,cls.j1] shift_2 = ["2012-10-25","2:00","4:00",2,cls.j1] shift_3 = ["2012-10-24","12:00","18:00",4,cls.j3] # shift with no slots shift_4 = ["2012-11-7","12:00","18:00",1,cls.j4] cls.s1 = create_shift_with_details(shift_1) cls.s2 = create_shift_with_details(shift_2) cls.s3 = create_shift_with_details(shift_3) cls.s4 = create_shift_with_details(shift_4) # creating volunteers who would register for the shifts volunteer_1 = ['Yoshi',"Yoshi","Turtle","Mario Land","Nintendo Land","Nintendo State","Nintendo Nation","2374983247","*****@*****.**"] volunteer_2 = ['John',"John","Doe","7 Alpine Street","Maplegrove","Wyoming","USA","23454545","*****@*****.**"] volunteer_3 = ['Ash',"Ash","Ketchum","Pallet Town","Kanto","Gameboy","Japan","23454545","*****@*****.**"] cls.v1 = create_volunteer_with_details(volunteer_1) cls.v2 = create_volunteer_with_details(volunteer_2) cls.v3 = create_volunteer_with_details(volunteer_3)
def setUpClass(cls): volunteer_1 = ['Margaret',"Yoshi","Turtle","Mario Land","Nintendo Land","Nintendo State","Nintendo Nation","2374983247","*****@*****.**"] volunteer_2 = ['Miu',"John","Doe","7 Alpine Street","Maplegrove","Wyoming","USA","23454545","*****@*****.**"] volunteer_3 = ['Brock',"Ash","Ketchum","Pallet Town","Kanto","Gameboy","Japan","23454545","*****@*****.**"] cls.v1 = create_volunteer_with_details(volunteer_1) cls.v2 = create_volunteer_with_details(volunteer_2) cls.v3 = create_volunteer_with_details(volunteer_3)
def test_volunteer_valid_organization_field(self): """ Test volunteer search form using the organization 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-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) 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' ] search_page.navigate_to_volunteer_search_page() 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) self.assertEqual(len(result), 2) self.assertTrue(expected_result_one in result) self.assertTrue(expected_result_two in result) search_page.navigate_to_volunteer_search_page() search_page.search_organization_field('v') 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)
def test_intersection_of_all_fields(self): credentials_1 = ['volunteer-username', 'volunteer-first-name', 'volunteer-last-name', 'volunteer-address', 'volunteer-city', 'volunteer-state', 'volunteer-country', '9999999999', '*****@*****.**'] v1 = create_volunteer_with_details(credentials_1) credentials_2 = ['volunteer-usernameq', 'volunteer-first-nameq', 'volunteer-last-nameq', 'volunteer-addressq', 'volunteer-cityq', 'volunteer-stateq', 'volunteer-countryq', '9999999999', '*****@*****.**'] v2 = create_volunteer_with_details(credentials_2) v2.unlisted_organization="volunteer-organization" v1.unlisted_organization="VOLUNTEER-ORGANIZATION" v1.save() v2.save() search_page = self.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-nameq', 'volunteer-last-nameq', 'volunteer-addressq', 'volunteer-cityq', 'volunteer-stateq', 'volunteer-countryq', 'volunteer-organization', '9999999999', '*****@*****.**'] expected_result_two = ['volunteer-first-name', 'volunteer-last-name', 'volunteer-address', 'volunteer-city', 'volunteer-state', 'volunteer-country', 'VOLUNTEER-ORGANIZATION', '9999999999', '*****@*****.**'] 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() with self.assertRaises(NoSuchElementException): search_results = search_page.get_search_results() search_page.search_last_name_field('volunteer') search_page.search_city_field('wrong-city') search_page.submit_form() with self.assertRaises(NoSuchElementException): search_results = search_page.get_search_results()
def test_volunteer_country_field(self): credentials_1 = [ 'volunteer-username', 'volunteer-first-name', 'volunteer-last-name', 'volunteer-address', 'volunteer-city', 'volunteer-state', 'VOLUNTEER-COUNTRY', '9999999999', '*****@*****.**', 'volunteer-organization' ] v1 = create_volunteer_with_details(credentials_1) credentials_2 = [ 'volunteer-usernameq', 'volunteer-first-nameq', 'volunteer-last-nameq', 'volunteer-addressq', 'volunteer-cityq', 'volunteer-stateq', 'volunteer-country', '9999999999', '*****@*****.**', 'volunteer-organizationq' ] v2 = create_volunteer_with_details(credentials_2) search_page = self.search_page expected_result_one = credentials_1[1:-1] expected_result_two = credentials_2[1:-1] search_page.search_country_field('volunteer') 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_two in result) self.assertTrue(expected_result_one in result) search_page.search_country_field('v') 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_two in result) self.assertTrue(expected_result_one in result) search_page.search_country_field('vol-') search_page.submit_form() with self.assertRaises(NoSuchElementException): search_results = search_page.get_search_results() search_page.search_country_field('volunteer-fail-test') search_page.submit_form() with self.assertRaises(NoSuchElementException): search_results = search_page.get_search_results() search_page.search_country_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 org_obj = create_organization_with_details(self.org_name) volunteer_1 = create_volunteer_with_details(self.volunteer_1, org_obj) volunteer_2 = create_volunteer_with_details(self.volunteer_2, org_obj) shift = ['09:00', '15:00', '1'] 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_job_details( ['job name', 'May 20, 2050', '9 a.m.', '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 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.e2 = e2 cls.e3 = e3 cls.e4 = e4 cls.e5 = e5 cls.s1 = s1 cls.s2 = s2 cls.s3 = s3 cls.s4 = s4 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 test_slots_remaining_in_shift(self): sign_up_page = self.sign_up_page manage_shift_page = self.manage_shift_page self.manage_shift_page.live_server_url = self.live_server_url # register volunteers v1 = create_volunteer_with_details(self.volunteer_1) v2 = create_volunteer_with_details(self.volunteer_2) shift = ['09:00', '15:00', '1'] s1 = 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 with self.assertRaises(NoSuchElementException): 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() with self.assertRaises(NoSuchElementException): 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_job_details( ['job name', 'May 20, 2017', '9 a.m.', '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_first_name_field(self): credentials_1 = ['volunteer-username', 'VOLUNTEER-FIRST-NAME', 'volunteer-last-name', 'volunteer-address', 'volunteer-city', 'volunteer-state', 'volunteer-country', '9999999999', '*****@*****.**', 'volunteer-organization'] v1 = create_volunteer_with_details(credentials_1) credentials_2 = ['volunteer-usernameq', 'volunteer-first-name', 'volunteer-last-nameq', 'volunteer-addressq', 'volunteer-cityq', 'volunteer-stateq', 'volunteer-countryq', '9999999999', '*****@*****.**', 'volunteer-organizationq'] v2 = create_volunteer_with_details(credentials_2) expected_result_one = credentials_1[1:-1] expected_result_two = credentials_2[1:-1] search_page = self.search_page search_page.search_first_name_field('volunteer') 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_two in result) self.assertTrue(expected_result_one in result) search_page.search_first_name_field('e') 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('vol-') search_page.submit_form() with self.assertRaises(NoSuchElementException): search_results = search_page.get_search_results() search_page.search_first_name_field('volunteer-fail-test') search_page.submit_form() with self.assertRaises(NoSuchElementException): search_results = search_page.get_search_results() search_page.search_first_name_field('!@#$%^&*()_') search_page.submit_form() self.assertNotEqual(search_page.get_help_block(),None)
def test_slots_remaining_in_shift(self): sign_up_page = self.sign_up_page manage_shift_page = self.manage_shift_page self.manage_shift_page.live_server_url = self.live_server_url # register volunteers v1 = create_volunteer_with_details(self.volunteer_1) v2 = create_volunteer_with_details(self.volunteer_2) shift = ['09:00', '15:00', '1'] s1 = 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 with self.assertRaises(NoSuchElementException): 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() with self.assertRaises(NoSuchElementException): 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_job_details(['job name', 'May 20, 2017', '9 a.m.', '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_check_report_volunteer(self): self.report_page.go_to_admin_report() country = create_country() state = create_state() city = create_city() credentials = { '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) vol = create_volunteer_with_details(credentials, org_obj) register_past_event_utility() register_past_job_utility() shift = register_past_shift_utility() start = datetime.time(hour=10, minute=0) end = datetime.time(hour=11, minute=0) logged_shift = log_hours_with_details(vol, shift, start, end) create_report_with_details(vol, logged_shift) report_page = self.report_page report_page.get_page(self.live_server_url, PageUrls.administrator_report_page) self.assertEqual(report_page.get_volunteer_name(), 'VOLUNTEER-FIRST-NAME volunteer-last-name')
def setUp(self): vol = ['Sherlock',"Sherlock","Holmes","221-B Baker Street","London","London-State","UK","9999999999","*****@*****.**"] self.v1 = create_volunteer_with_details(vol) self.v1.unlisted_organization = 'Detective' self.v1.save() self.login_correctly() self.profile_page.navigate_to_profile()
def test_check_volunteer_reports(self): 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) vol = create_volunteer_with_details(credentials_1, org_obj) register_past_event_utility() register_past_job_utility() shift = register_past_shift_utility() start=datetime.time(hour=10, minute=0) end=datetime.time(hour=11, minute=0) logged_shift = log_hours_with_details(vol, shift, start, end) report = create_report_with_details(vol, logged_shift) report.confirm_status = 1 report.save() search_page.navigate_to_volunteer_search_page() search_page.submit_form() self.assertEqual(search_page.element_by_xpath(self.elements.VIEW_REPORTS).text, 'View') search_page.element_by_xpath(self.elements.VIEW_REPORTS + '//a').click() self.assertEqual(search_page.remove_i18n(self.driver.current_url), self.live_server_url + PageUrls.volunteer_history_page + str(vol.id)) self.verify_report_details('1')
def test_shift_sign_up_with_no_slots(self): registered_event = register_event_utility() registered_job = register_job_utility() sign_up_page = self.sign_up_page # create shift with no slot shift_2 = [ "2050-05-11", "9:00", "15:00", 1, Job.objects.get(name='job') ] s2 = create_shift_with_details(shift_2) # Create another volunteer volunteer_2 = [ 'volunteer-2', "Sam", "Turtle", "Mario Land", "Nintendo Land", "Nintendo State", "Nintendo Nation", "2374983247", "*****@*****.**" ] org_name = 'volunteer-organization' org_obj = create_organization_with_details(org_name) v2 = create_volunteer_with_details(volunteer_2, org_obj) # Assign shift to the volunteer registered_vol_shift = register_volunteer_for_shift_utility(s2, v2) # open Shift Sign Up sign_up_page.navigate_to_sign_up() # on event page self.assertEqual(sign_up_page.get_info_box().text, sign_up_page.no_event_message)
def test_assign_shifts_with_no_shifts(self): """ Test no shift present at shifts sign up page for volunteer to sign up for. """ 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 org_obj = create_organization_with_details(self.org_name) volunteer_1 = create_volunteer_with_details(self.volunteer_1, org_obj) # Create events event = ['event-name', '2017-05-20', '2017-05-20'] event_1 = create_event_with_details(event) # Create jobs job = ['job name', '2017-05-20', '2017-05-20', 'job description', event_1] job_1 = create_job_with_details(job) self.wait_for_home_page() # Open manage volunteer shift manage_shift_page.navigate_to_manage_shift_page() manage_shift_page.select_volunteer(1) 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_access_another_existing_volunteer_view(self): """ Test error raised while volunteer is trying to access profile page of another existing volunteer. """ upcoming_shift_page = self.upcoming_shift_page upcoming_shift_page.live_server_url = self.live_server_url self.wait.until( EC.presence_of_element_located( (By.XPATH, "//h1[contains(text(), 'Volunteer Management System')]"))) upcoming_shift_page.view_upcoming_shifts() self.assertEqual(upcoming_shift_page.get_info_box(), upcoming_shift_page.no_shift_message) details = [ 'test_volunteer', '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) test_volunteer = create_volunteer_with_details(details, org_obj) upcoming_shift_page.get_page( upcoming_shift_page.live_server_url, upcoming_shift_page.view_shift_page + str(test_volunteer.id)) found = re.search('You don\'t have the required rights', self.driver.page_source) self.assertNotEqual(found, None)
def test_table_layout(self): sign_up_page = self.sign_up_page manage_shift_page = self.manage_shift_page # register volunteers v1 = create_volunteer_with_details(self.volunteer_1) shift = ['09:00', '15:00', '1'] s1 = self.create_shift(shift) self.manage_shift_page.live_server_url = self.live_server_url # open manage volunteer shift self.manage_shift_page.navigate_to_manage_shift_page() # volunteer-one does not have any registered shifts manage_shift_page.select_volunteer(1) manage_shift_page.assign_shift() # events shown in table with self.assertRaises(NoSuchElementException): sign_up_page.get_info_box() self.assertEqual(sign_up_page.get_view_jobs(), 'View Jobs') sign_up_page.click_to_view_jobs() # arrived on page2 with jobs self.assertEqual(sign_up_page.get_view_shifts(), 'View Shifts') sign_up_page.click_to_view_shifts() # arrived on page3 with shifts, assign shift to volunteer one self.assertEqual(sign_up_page.get_sign_up(), 'Assign Shift')
def test_view_with_logged_hours(self): """ Test display of shift details with hours logged in the shift. """ shift_details_page = self.shift_details_page shift_details_page.live_server_url = self.live_server_url org_obj = create_organization_with_details(self.org_detail) volunteer = create_volunteer_with_details(self.volunteer_detail, org_obj) log_hours_with_details(volunteer, self.shift, '13:00', '14:00') self.wait_for_home_page() shift_details_page.navigate_to_shift_details_view() # verify that the shift slot is decreased by 1 self.assertEqual(shift_details_page.get_shift_job(), 'job') self.assertEqual(shift_details_page.get_max_shift_volunteer(), '5') # verify that assigned volunteers shows up self.assertEqual(len(shift_details_page.get_registered_volunteers()), 1) self.assertEqual(shift_details_page.get_registered_volunteer_email(), '*****@*****.**') # verify that hours are logged by volunteer self.assertEqual(len(shift_details_page.get_logged_volunteers()), 1) self.assertEqual(shift_details_page.get_logged_volunteer_name(), 'Michael') self.assertEqual(shift_details_page.get_logged_start_time(), '1 p.m.') self.assertEqual(shift_details_page.get_logged_end_time(), '2 p.m.')
def test_view_with_logged_hours(self): """ Test display of shift details with hours logged in the shift. """ shift_details_page = self.shift_details_page shift_details_page.live_server_url = self.live_server_url org_obj = create_organization_with_details(self.org_detail) volunteer = create_volunteer_with_details(self.volunteer_detail, org_obj) log_hours_with_details(volunteer, self.shift, '13:00', '14:00') self.wait_for_home_page() shift_details_page.navigate_to_shift_details_view() # verify that the shift slot is decreased by 1 self.assertEqual(shift_details_page.get_shift_job(), 'job') self.assertEqual(shift_details_page.get_max_shift_volunteer(), '5') # verify that assigned volunteers shows up self.assertEqual(len(shift_details_page.get_registered_volunteers()), 1) self.assertEqual(shift_details_page.get_registered_volunteer_email(), '*****@*****.**') # verify that hours are logged by volunteer self.assertEqual(len(shift_details_page.get_logged_volunteers()), 1) self.assertEqual(shift_details_page.get_logged_volunteer_name(), 'Michael') self.assertEqual(shift_details_page.get_logged_start_time(), '1 p.m.') self.assertEqual(shift_details_page.get_logged_end_time(), '2 p.m.')
def test_view_with_only_registered_volunteers(self): """ Test display of shift details with registered volunteer. """ shift_details_page = self.shift_details_page shift_details_page.live_server_url = self.live_server_url org_obj = create_organization_with_details(self.org_detail) volunteer = create_volunteer_with_details(self.volunteer_detail, org_obj) volunteer_shift = register_volunteer_for_shift_utility( self.shift, volunteer) self.wait_for_home_page() shift_details_page.navigate_to_shift_details_view() # verify that the shift slot is decreased by 1 self.assertEqual(shift_details_page.get_shift_job(), 'job') self.assertEqual(shift_details_page.get_max_shift_volunteer(), '5') # verify that assigned volunteers shows up but no logged hours yet self.assertEqual(len(shift_details_page.get_registered_volunteers()), 1) self.assertEqual(shift_details_page.get_registered_volunteer_name(), 'Michael') self.assertEqual(shift_details_page.get_registered_volunteer_email(), '*****@*****.**') self.assertEqual(shift_details_page.get_message_box(), 'There are no logged hours at the moment')
def test_table_layout(self): sign_up_page = self.sign_up_page manage_shift_page = self.manage_shift_page # register volunteers v1 = create_volunteer_with_details(self.volunteer_1) shift = ['09:00', '15:00', '1'] s1 = self.create_shift(shift) self.manage_shift_page.live_server_url = self.live_server_url # open manage volunteer shift self.manage_shift_page.navigate_to_manage_shift_page() # volunteer-one does not have any registered shifts manage_shift_page.select_volunteer(1) manage_shift_page.assign_shift() # events shown in table with self.assertRaises(NoSuchElementException): sign_up_page.get_info_box() self.assertEqual(sign_up_page.get_view_jobs(), 'View Jobs') sign_up_page.click_to_view_jobs() # arrived on page2 with jobs self.assertEqual(sign_up_page.get_view_shifts(), 'View Shifts') sign_up_page.click_to_view_shifts() # arrived on page3 with shifts, assign shift to volunteer one self.assertEqual(sign_up_page.get_sign_up(), 'Assign Shift')
def test_access_another_existing_volunteer_view(self): """ Test error raised while volunteer is trying to access profile page of another existing volunteer. """ upcoming_shift_page = self.upcoming_shift_page upcoming_shift_page.live_server_url = self.live_server_url self.wait.until( EC.presence_of_element_located( (By.XPATH, "//h1[contains(text(), 'Volunteer Management System')]" ) ) ) upcoming_shift_page.view_upcoming_shifts() self.assertEqual(upcoming_shift_page.get_info_box(), upcoming_shift_page.no_shift_message) details = ['test_volunteer', '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) test_volunteer = create_volunteer_with_details(details, org_obj) upcoming_shift_page.get_page(upcoming_shift_page.live_server_url, upcoming_shift_page.view_shift_page + str(test_volunteer.id)) found = re.search('You don\'t have the required rights', self.driver.page_source) self.assertNotEqual(found, None)
def setup_test_data(cls): cls.e1 = e1 cls.j1 = j1 cls.j3 = j3 # job with no shifts cls.j2 = j2 # job with shift which has no slot job_4 = [ "Information Technologist", "2012-11-2", "2012-12-2", "An IT job", e1 ] cls.j4 = create_job_with_details(job_4) shift_1 = ["2012-10-23", "1:00", "3:00", 1, cls.j1] shift_2 = ["2012-10-25", "2:00", "4:00", 2, cls.j1] shift_3 = ["2012-10-24", "12:00", "18:00", 4, cls.j3] # shift with no slots shift_4 = ["2012-11-7", "12:00", "18:00", 1, cls.j4] cls.s1 = create_shift_with_details(shift_1) cls.s2 = create_shift_with_details(shift_2) cls.s3 = create_shift_with_details(shift_3) cls.s4 = create_shift_with_details(shift_4) # creating volunteers who would register for the shifts volunteer_1 = [ 'Yoshi', "Yoshi", "Turtle", "Mario Land", "Nintendo Land", "Nintendo State", "Nintendo Nation", "2374983247", "*****@*****.**" ] volunteer_2 = [ 'John', "John", "Doe", "7 Alpine Street", "Maplegrove", "Wyoming", "USA", "23454545", "*****@*****.**" ] volunteer_3 = [ 'Ash', "Ash", "Ketchum", "Pallet Town", "Kanto", "Gameboy", "Japan", "23454545", "*****@*****.**" ] org_name = 'volunteer-organization' org_obj = create_organization_with_details(org_name) cls.v1 = create_volunteer_with_details(volunteer_1, org_obj) cls.v2 = create_volunteer_with_details(volunteer_2, org_obj) cls.v3 = create_volunteer_with_details(volunteer_3, 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 create_volunteer(): vol = [ "Goku", "Son", "Goku", "Kame House", "East District", "East District", "East District", "9999999999", "*****@*****.**" ] org_name = 'Google' org_obj = create_organization_with_details(org_name) return create_volunteer_with_details(vol, org_obj)
def setUpClass(cls): volunteer_1 = [ 'Margaret', "Yoshi", "Turtle", "Mario Land", "Nintendo Land", "Nintendo State", "Nintendo Nation", "2374983247", "*****@*****.**" ] volunteer_2 = [ 'Miu', "John", "Doe", "7 Alpine Street", "Maplegrove", "Wyoming", "USA", "23454545", "*****@*****.**" ] volunteer_3 = [ 'Brock', "Ash", "Ketchum", "Pallet Town", "Kanto", "Gameboy", "Japan", "23454545", "*****@*****.**" ] cls.v1 = create_volunteer_with_details(volunteer_1) cls.v2 = create_volunteer_with_details(volunteer_2) cls.v3 = create_volunteer_with_details(volunteer_3)
def setUp(self): vol = [ 'Sherlock', "Sherlock", "Holmes", "221-B Baker Street", "London", "London-State", "UK", "9999999999", "*****@*****.**" ] self.v1 = create_volunteer_with_details(vol) self.v1.unlisted_organization = 'Detective' self.v1.save() self.login_correctly() self.profile_page.navigate_to_profile()
def setup_test_data(cls): cls.o1 = Organization(name = "Google") cls.o2 = Organization(name = "Yahoo") cls.o1.save() cls.o2.save() volunteer_1 = ['Yoshi',"Yoshi","Turtle","Mario Land","Nintendo Land","Nintendo State","Nintendo Nation","2374983247","*****@*****.**"] cls.v1 = create_volunteer_with_details(volunteer_1) cls.v1.organization = cls.o2 cls.v1.save()
def create_invalid_vol(): """ Utility function to create an invalid volunteer. :return: Volunteer type object """ vol = [ 'Goku~', "Son", "Goku", "Kame House", "East District", "East District", "East District", "9999999999", "" ] org_name = 'org' org_obj = create_organization_with_details(org_name) return create_volunteer_with_details(vol, org_obj)
def create_invalid_vol(): """ Utility function to create an invalid volunteer. :return: Volunteer type object """ vol = [ 'Goku~', "Son", "Goku", "Kame House", "East District", "East District", "East District", "9999999999", "" ] org_name = 'org' org_obj = create_organization_with_details(org_name) return create_volunteer_with_details(vol, org_obj)
def test_landing_page_with_registered_volunteers(self): manage_shift_page = self.manage_shift_page self.manage_shift_page.live_server_url = self.live_server_url # register volunteer v1 = create_volunteer_with_details(self.volunteer_1) manage_shift_page.navigate_to_manage_shift_page() self.assertNotEqual(manage_shift_page.find_table_row(), None) manage_shift_page.select_volunteer(1) self.assertEqual(manage_shift_page.get_info_box(),manage_shift_page.no_volunteer_shift_message)
def create_volunteer(): """ Utility function to create a valid volunteer. :return: Volunteer type object """ vol = [ "Goku", "Son", "Goku", "Kame House", "East District", "East District", "East District", "9999999999", "*****@*****.**" ] org_name = 'Google' org_obj = create_organization_with_details(org_name) return create_volunteer_with_details(vol, org_obj)
def test_landing_page_with_registered_volunteers(self): manage_shift_page = self.manage_shift_page self.manage_shift_page.live_server_url = self.live_server_url # register volunteer v1 = create_volunteer_with_details(self.volunteer_1) manage_shift_page.navigate_to_manage_shift_page() self.assertNotEqual(manage_shift_page.find_table_row(), None) manage_shift_page.select_volunteer(1) self.assertEqual(manage_shift_page.get_info_box(), manage_shift_page.no_volunteer_shift_message)
def setUp(self): """ Method consists of statements to be executed before start of each test. """ vol = [ 'Goku', "Son", "Goku", "Kame House", "East District", "East District", "East District", "9999999999", "*****@*****.**" ] org_name='Detective' org_obj = create_organization_with_details(org_name) self.volunteer_1 = create_volunteer_with_details(vol, org_obj) self.login_correctly()
def setup_test_data(cls): cls.o1 = Organization(name="Google") cls.o2 = Organization(name="Yahoo") cls.o1.save() cls.o2.save() volunteer_1 = [ 'Yoshi', "Yoshi", "Turtle", "Mario Land", "Nintendo Land", "Nintendo State", "Nintendo Nation", "2374983247", "*****@*****.**" ] cls.v1 = create_volunteer_with_details(volunteer_1, cls.o2)
def test_assign_shifts_with_registered_shifts(self): """ Test assignment of shift present at shifts sign up page for volunteer to sign up for. """ 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 org_obj = create_organization_with_details(self.org_name) volunteer_1 = create_volunteer_with_details(self.volunteer_1, org_obj) shift = ['09:00', '15:00', '1'] shift_1 = self.create_shift(shift) self.wait_for_home_page() # Volunteer-one does not have any registered shifts manage_shift_page.navigate_to_manage_shift_page() 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_job_details( ['job name', 'May 20, 2050', '9 a.m.', '3 p.m.']) # check shift assignment email mail.outbox = [] mail.send_mail("Shift Assigned", "message", "*****@*****.**", [volunteer_1.email]) self.assertEqual(len(mail.outbox), 1) msg = mail.outbox[0] self.assertEqual(msg.subject, 'Shift Assigned') self.assertEqual(msg.to, ['*****@*****.**'])
def setUp(self): """ Method consists of statements to be executed before start of each test. """ vol = [ 'Goku', "Son", "Goku", "Kame House", "East District", "East District", "East District", "9999999999", "*****@*****.**" ] org_name = 'Detective' org_obj = create_organization_with_details(org_name) self.volunteer_1 = create_volunteer_with_details(vol, org_obj) self.login_correctly()
def test_events_page_with_no_events(self): sign_up_page = self.sign_up_page manage_shift_page = self.manage_shift_page # register volunteers v1 = create_volunteer_with_details(self.volunteer_1) self.manage_shift_page.live_server_url = self.live_server_url # open manage volunteer shift self.manage_shift_page.navigate_to_manage_shift_page() manage_shift_page.select_volunteer(1) manage_shift_page.assign_shift() self.assertEqual(sign_up_page.get_info_box().text,sign_up_page.no_event_message)
def test_shift_edit_request(self): """ checks the edit request link received by admin """ org_obj = create_organization_with_details(self.org_name) volunteer_1 = create_volunteer_with_details(self.volunteer_1, org_obj) shift = ['09:00', '15:00', '1'] shift_1 = self.create_shift(shift) start = datetime.time(hour=10, minute=0) end = datetime.time(hour=14, minute=0) logged_shift = log_hours_with_details(volunteer_1, shift_1, start, end) start_time = datetime.time(hour=9, minute=30) end_time = datetime.time(hour=14, minute=0) edit_request = create_edit_request_with_details(start_time, end_time, logged_shift) response = self.client.get(reverse('shift:edit_request_manager', args=[shift_1.id, volunteer_1.id, edit_request.id])) self.assertEqual(response.status_code, 302)
def test_assign_same_shift_to_volunteer_twice(self): """ Test errors while assignment of same shift to volunteer to which they are already assigned. """ sign_up_page = self.sign_up_page manage_shift_page = self.manage_shift_page self.manage_shift_page.live_server_url = self.live_server_url # Register volunteers org_obj = create_organization_with_details(self.org_name) volunteer_1 = create_volunteer_with_details(self.volunteer_1, org_obj) shift = ['09:00', '15:00', '1'] shift_1 = self.create_shift(shift) self.wait_for_home_page() # 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) # Assign same shift to voluteer-one again # Check volunteer-one has one registered shift now self.assertEqual(sign_up_page.get_shift_job(), 'job name') manage_shift_page.assign_shift() # Events page self.assertEqual(sign_up_page.get_info_box().text,sign_up_page.no_event_message)
def test_jobs_page_with_no_jobs(self): sign_up_page = self.sign_up_page manage_shift_page = self.manage_shift_page self.manage_shift_page.live_server_url = self.live_server_url # register volunteers v1 = create_volunteer_with_details(self.volunteer_1) # create events event = ['event-name', '2017-05-20', '2017-05-20'] e1 = create_event_with_details(event) # open manage volunteer shift manage_shift_page.navigate_to_manage_shift_page() manage_shift_page.select_volunteer(1) manage_shift_page.assign_shift() self.assertEqual(sign_up_page.get_info_box().text,sign_up_page.no_event_message)
def test_view_with_only_registered_volunteers(self): shift_details_page = self.shift_details_page shift_details_page.live_server_url = self.live_server_url volunteer = create_volunteer_with_details(self.volunteer_detail) volunteer_shift = register_volunteer_for_shift_utility( self.shift, volunteer) shift_details_page.navigate_to_shift_details_view() # verify that the shift slot is decreased by 1 self.assertEqual(shift_details_page.get_shift_job(), 'job') self.assertEqual(shift_details_page.get_max_shift_volunteer(), '5') # verify that assigned volunteers shows up but no logged hours yet self.assertEqual(len(shift_details_page.get_registered_volunteers()), 1) self.assertEqual(shift_details_page.get_registered_volunteer_name(), 'Michael') self.assertEqual(shift_details_page.get_registered_volunteer_email(), '*****@*****.**') self.assertEqual(shift_details_page.get_message_box(),'There are no logged hours at the moment')
def setup_test_data(cls): cls.e1 = e1 cls.j1 = j1 shift_1 = ["2012-10-28", "9:00", "15:00", 1, cls.j1] shift_2 = ["2012-10-25", "10:00", "16:00", 2, cls.j1] cls.s1 = create_shift_with_details(shift_1) cls.s2 = create_shift_with_details(shift_2) volunteer_1 = [ 'Aaron', "Aaron", "Turtle", "Mario Land", "Nintendo Land", "Nintendo State", "Nintendo Nation", "2374983247", "*****@*****.**" ] org_name = 'organization' cls.org_obj = create_organization_with_details(org_name) cls.v1 = create_volunteer_with_details(volunteer_1, cls.org_obj)