示例#1
0
    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')
示例#2
0
    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')
示例#3
0
    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')
示例#4
0
    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)
示例#5
0
    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)
示例#6
0
    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)
示例#7
0
    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')
示例#8
0
    def test_shift_sign_up_with_outdated_shifts(self):
        """
        Test signing up for the shifts whose date have passed.
        """
        registered_event = register_event_utility()
        registered_job = register_job_utility()
        sign_up_page = self.sign_up_page

        # create outdated shift
        shift_1 = {
            'date': "2016-05-11",
            'start_time': "9:00",
            'end_time': "15:00",
            'max_volunteers': 6,
            'job': Job.objects.get(name='job'),
            'address': 'shift-address',
            'venue': 'shift-venue'
        }
        created_shift = create_shift_with_details(shift_1)

        # 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()
        self.assertEqual(
            sign_up_page.get_info_box().text,
            sign_up_page.get_message_shift_not_available_for_job('job'))
示例#9
0
    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.')
示例#10
0
    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()
示例#11
0
    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)
示例#12
0
 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)
示例#13
0
 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)
示例#14
0
    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')
示例#15
0
    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')
示例#16
0
    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')
示例#17
0
    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')
示例#18
0
    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')
示例#19
0
    def test_shift_sign_up_with_no_slots(self):
        """
        Test signing up for a shift for which volunteer needed is zero.
        """
        registered_event = register_event_utility()
        registered_job = register_job_utility()

        sign_up_page = self.sign_up_page

        # create shift with no slot
        shift_2 = {
            'date': "2016-05-11",
            'start_time': "9:00",
            'end_time': "15:00",
            'max_volunteers': 1,
            'job': Job.objects.get(name='job'),
            'address': 'shift-address',
            'venue': 'shift-venue'
        }
        s2 = create_shift_with_details(shift_2)

        # Create another volunteer
        org_name = 'volunteer-organization'
        org_obj = create_organization_with_details(org_name)

        second_country = create_second_country()
        second_state = create_second_state()
        second_city = create_second_city()
        volunteer_2 = {
            'username': '******',
            'first_name': "Sam",
            'last_name': "Turtle",
            'address': "Mario Land",
            'city': second_city,
            'state': second_state,
            'country': second_country,
            'phone_number': "2374983247",
            'email': "*****@*****.**"
        }
        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)
示例#20
0
    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')
示例#21
0
    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')
示例#22
0
    def test_empty_events(self):
        registered_event = register_event_utility()
        sign_up_page = self.sign_up_page
        # 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)

        with self.assertRaises(NoSuchElementException):
            sign_up_page.find_table_tag()
            sign_up_page.click_to_view_jobs()

        registered_job = register_job_utility()

        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_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)
示例#24
0
    def test_shift_sign_up_with_outdated_shifts(self):
        registered_event = register_event_utility()
        registered_job = register_job_utility()
        sign_up_page = self.sign_up_page

        # create outdated shift
        shift_1 = [
            "2016-05-11", "9:00", "15:00", 6,
            Job.objects.get(name='job')
        ]
        created_shift = create_shift_with_details(shift_1)

        # 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()
        self.assertEqual(
            sign_up_page.get_info_box().text,
            sign_up_page.get_message_shift_not_available_for_job('job'))
示例#25
0
    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)
示例#26
0
    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)
示例#27
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)