Esempio n. 1
0
    def test_edit_shift_with_invalid_timings(self):
        # register event first to create job
        event = ['event-name', '2050-08-21', '2050-09-28']
        created_event = create_event_with_details(event)

        # create job
        job = ['job', '2050-08-21', '2050-08-30', '', created_event]
        created_job = create_job_with_details(job)

        # create shift
        shift = ['2050-08-21', '09:00', '12:00', '10', created_job]
        create_shift_with_details(shift)

        self.settings.go_to_events_page()
        settings = self.settings
        settings.live_server_url = self.live_server_url
        settings.navigate_to_shift_list_view()
        settings.go_to_edit_shift_page()

        # edit shift with end hours less than start hours
        invalid_shift = ['08/30/2050', '18:00', '13:00', '5']
        settings.fill_shift_form(invalid_shift)

        # verify that shift was not edited and error message displayed
        self.assertEqual(settings.get_warning_context(), 'Shift end time should be greater than start time')
Esempio n. 2
0
    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)
Esempio n. 3
0
def setUpModule():
    """
    - Creates objects which can be reused by multiple test classes
    - Creates shifts with limited slots and with multiple slots for use
    """

    global e1
    global j1, j2
    global s1, s2, s3

    event_1 = ["Open Source Event", "2012-9-1", "2012-11-23"]
    e1 = create_event_with_details(event_1)

    job_1 = [
        "Software Developer", "2012-10-22", "2012-10-30", "A software job", e1
    ]
    job_2 = [
        "Systems Administrator", "2012-9-1", "2012-10-26",
        "A systems administrator job", e1
    ]
    j1 = create_job_with_details(job_1)
    j2 = create_job_with_details(job_2)

    shift_1 = ["2012-10-28", "9:00", "15:00", 1, j1]
    shift_2 = ["2012-10-25", "10:00", "16:00", 2, j1]
    shift_3 = ["2012-10-22", "10:00", "16:00", 4, j2]

    s1 = create_shift_with_details(shift_1)
    s2 = create_shift_with_details(shift_2)
    s3 = create_shift_with_details(shift_3)
Esempio n. 4
0
    def test_edit_shift_with_invalid_date(self):
        # register event first to create job
        event = ['event-name', '2050-08-21', '2050-09-28']
        created_event = create_event_with_details(event)

        # create job
        job = ['job', '2050-08-21', '2050-08-30', '', created_event]
        created_job = create_job_with_details(job)

        # create shift
        shift = ['2050-08-21', '09:00', '12:00', '10', created_job]
        create_shift_with_details(shift)

        self.settings.go_to_events_page()
        settings = self.settings
        settings.live_server_url = self.live_server_url
        settings.navigate_to_shift_list_view()
        settings.go_to_edit_shift_page()

        # edit shift with date not between job dates
        invalid_shift = ['02/05/2050', '04:00', '13:00', '2']
        settings.fill_shift_form(invalid_shift)

        # verify that shift was not edited and error message displayed
        self.assertEqual(settings.get_warning_context(), 'Shift date should lie within Job dates')
Esempio n. 5
0
    def test_delete_job_with_associated_shifts(self):
        # register event first to create job
        event = ['event-name', '2050-08-21', '2050-09-28']
        created_event = create_event_with_details(event)

        # create job
        job = ['job', '2050-08-21', '2050-08-21', '', created_event]
        created_job = create_job_with_details(job)

        # create shift
        shift = ['2050-08-21', '09:00', '12:00', '10', created_job]
        create_shift_with_details(shift)

        self.settings.go_to_events_page()
        settings = self.settings
        settings.live_server_url = self.live_server_url

        # delete job
        settings.navigate_to_job_list_view()
        self.delete_job_from_list()

        self.assertNotEqual(settings.get_danger_message(), None)
        self.assertEqual(settings.get_template_error_message(),
                         'You cannot delete a job that a shift is currently associated with.')

        # check job NOT deleted
        settings.navigate_to_job_list_view()
        self.assertEqual(settings.get_job_name(), 'job')
Esempio n. 6
0
    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)
Esempio n. 7
0
    def test_simplify_shift(self):
        self.settings.go_to_events_page()
        settings = self.settings
        settings.live_server_url = self.live_server_url

        event = ['event-name', '2050-05-24', '2050-05-28']
        created_event = create_event_with_details(event)
        job = ['job', '2050-05-24', '2050-05-28', '', created_event]
        created_job = create_job_with_details(job)

        settings.navigate_to_shift_list_view()
        settings.go_to_create_shift_page()

        # Check correctness of Job name and date.
        self.assertEqual(settings.get_shift_job(), 'job')
        self.assertEqual(settings.get_shift_job_start_date(), 'May 24, 2050')
        self.assertEqual(settings.get_shift_job_end_date(), 'May 28, 2050')

        # Create shift and check job details in edit form
        shift = ['2050-05-28', '09:00', '12:00', '10', created_job]
        create_shift_with_details(shift)
        settings.navigate_to_shift_list_view()
        settings.go_to_edit_shift_page()

        # Check correctness of Job name and date.
        self.assertEqual(settings.get_shift_job(), 'job')
        self.assertEqual(settings.get_shift_job_start_date(), 'May 24, 2050')
        self.assertEqual(settings.get_shift_job_end_date(), 'May 28, 2050')
Esempio n. 8
0
    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)
Esempio n. 9
0
    def test_edit_shift(self):
        # register event first to create job
        event = ['event-name', '2050-08-21', '2050-09-28']
        created_event = create_event_with_details(event)

        # create job
        job = ['job', '2050-08-21', '2050-08-30', '', created_event]
        created_job = create_job_with_details(job)

        # create shift
        shift = ['2050-08-21', '09:00', '12:00', '10', created_job]
        create_shift_with_details(shift)

        self.settings.go_to_events_page()
        settings = self.settings
        settings.live_server_url = self.live_server_url
        settings.navigate_to_shift_list_view()
        settings.go_to_edit_shift_page()

        # edit shift with date between job dates
        shift = ['08/25/2050', '10:00', '13:00', '2']
        settings.fill_shift_form(shift)

        with self.assertRaises(NoSuchElementException):
            settings.get_help_block()

        self.assertEqual(settings.get_shift_date(), 'Aug. 25, 2050')
Esempio n. 10
0
    def test_null_values_in_edit_shift(self):
        # Register Event
        event = ['event-name', '2050-05-24', '2050-05-28']
        created_event = create_event_with_details(event)
        self.settings.go_to_events_page()
        settings = self.settings

        # Create Job with not-null values
        job = ['job', '2050-05-24', '2050-05-28', '', created_event]
        created_job = create_job_with_details(job)

        # Create Shift with not-null values
        shift = ['2050-05-24', '09:00', '12:00', '10', created_job]
        create_shift_with_details(shift)

        settings.live_server_url = self.live_server_url
        settings.navigate_to_shift_list_view()
        settings.go_to_edit_shift_page()

        # edit shift with null values
        shift = ['', '', '', '']
        settings.fill_shift_form(shift)

        # verify that shift was not edited and error messages appear as
        # expected
        self.assertEqual(len(settings.get_help_blocks()), 4)

        self.assertEqual(settings.get_shift_date_error(), 'This field is required.')
        self.assertEqual(settings.get_shift_start_time_error(), 'This field is required.')
        self.assertEqual(settings.get_shift_end_time_error(), 'This field is required.')
        self.assertEqual(settings.get_shift_max_volunteer_error(), 'This field is required.')
Esempio n. 11
0
    def test_delete_shift(self):
        # register event first to create job
        event = ['event-name', '2050-08-21', '2050-09-28']
        created_event = create_event_with_details(event)

        # create job
        job = ['job', '2050-08-21', '2050-08-30', '', created_event]
        created_job = create_job_with_details(job)

        # create shift
        shift = ['2050-08-21', '09:00', '12:00', '10', created_job]
        create_shift_with_details(shift)

        self.settings.go_to_events_page()
        settings = self.settings
        settings.live_server_url = self.live_server_url
        settings.navigate_to_shift_list_view()
        self.assertNotEqual(settings.get_results(), None)

        # delete shift
        self.delete_shift_from_list()

        # check deletion of shift
        settings.navigate_to_shift_list_view()
        self.assertEqual(
            settings.get_message_context(),
            'There are currently no shifts. Please create shifts first.')
Esempio n. 12
0
    def test_edit_job_with_invalid_shift_date(self):
        # register event first to create job
        event = ['event-name', '2050-08-21', '2050-09-28']
        created_event = create_event_with_details(event)

        # create job
        job = ['job', '2050-08-21', '2050-08-21', '', created_event]
        created_job = create_job_with_details(job)

        # create shift
        shift = ['2050-08-21', '09:00', '12:00', '10', created_job]
        create_shift_with_details(shift)

        self.settings.go_to_events_page()
        settings = self.settings
        settings.live_server_url = self.live_server_url
        settings.navigate_to_job_list_view()

        invalid_job_one = ['event-name', 'changed job name', 'job description', '2050-09-01', '2050-09-11']

        # edit job with date range such that the shift start date no longer
        # falls in the range
        settings.go_to_edit_job_page()
        settings.fill_job_form(invalid_job_one)

        # check job not edited and proper error message displayed
        self.assertNotEqual(self.driver.current_url, self.live_server_url + settings.job_list_page)
        self.assertEqual(settings.get_template_error_message(),
                         'You cannot edit this job as 1 associated shift no longer lies within the new date range')
Esempio n. 13
0
    def test_edit_shift_with_invalid_date(self):
        # register event first to create job
        event = ['event-name', '2050-08-21', '2050-09-28']
        created_event = create_event_with_details(event)

        # create job
        job = ['job', '2050-08-21', '2050-08-30', '', created_event]
        created_job = create_job_with_details(job)

        # create shift
        shift = ['2050-08-21', '09:00', '12:00', '10', created_job]
        create_shift_with_details(shift)

        self.settings.go_to_events_page()
        settings = self.settings
        settings.live_server_url = self.live_server_url
        settings.navigate_to_shift_list_view()
        settings.go_to_edit_shift_page()

        # edit shift with date not between job dates
        invalid_shift = ['02/05/2050', '04:00', '13:00', '2']
        settings.fill_shift_form(invalid_shift)

        # verify that shift was not edited and error message displayed
        self.assertEqual(settings.get_warning_context(),
                         'Shift date should lie within Job dates')
Esempio n. 14
0
    def test_edit_shift(self):
        # register event first to create job
        event = ['event-name', '2050-08-21', '2050-09-28']
        created_event = create_event_with_details(event)

        # create job
        job = ['job', '2050-08-21', '2050-08-30', '', created_event]
        created_job = create_job_with_details(job)

        # create shift
        shift = ['2050-08-21', '09:00', '12:00', '10', created_job]
        create_shift_with_details(shift)

        self.settings.go_to_events_page()
        settings = self.settings
        settings.live_server_url = self.live_server_url
        settings.navigate_to_shift_list_view()
        settings.go_to_edit_shift_page()

        # edit shift with date between job dates
        shift = ['08/25/2050', '10:00', '13:00', '2']
        settings.fill_shift_form(shift)

        with self.assertRaises(NoSuchElementException):
            settings.get_help_block()

        self.assertEqual(settings.get_shift_date(), 'Aug. 25, 2050')
Esempio n. 15
0
    def test_edit_shift_with_invalid_timings(self):
        # register event first to create job
        event = ['event-name', '2050-08-21', '2050-09-28']
        created_event = create_event_with_details(event)

        # create job
        job = ['job', '2050-08-21', '2050-08-30', '', created_event]
        created_job = create_job_with_details(job)

        # create shift
        shift = ['2050-08-21', '09:00', '12:00', '10', created_job]
        create_shift_with_details(shift)

        self.settings.go_to_events_page()
        settings = self.settings
        settings.live_server_url = self.live_server_url
        settings.navigate_to_shift_list_view()
        settings.go_to_edit_shift_page()

        # edit shift with end hours less than start hours
        invalid_shift = ['08/30/2050', '18:00', '13:00', '5']
        settings.fill_shift_form(invalid_shift)

        # verify that shift was not edited and error message displayed
        self.assertEqual(settings.get_warning_context(),
                         'Shift end time should be greater than start time')
Esempio n. 16
0
    def test_delete_job_with_associated_shifts(self):
        # register event first to create job
        event = ['event-name', '2050-08-21', '2050-09-28']
        created_event = create_event_with_details(event)

        # create job
        job = ['job', '2050-08-21', '2050-08-21', '', created_event]
        created_job = create_job_with_details(job)

        # create shift
        shift = ['2050-08-21', '09:00', '12:00', '10', created_job]
        create_shift_with_details(shift)

        self.settings.go_to_events_page()
        settings = self.settings
        settings.live_server_url = self.live_server_url

        # delete job
        settings.navigate_to_job_list_view()
        self.delete_job_from_list()

        self.assertNotEqual(settings.get_danger_message(), None)
        self.assertEqual(
            settings.get_template_error_message(),
            'You cannot delete a job that a shift is currently associated with.'
        )

        # check job NOT deleted
        settings.navigate_to_job_list_view()
        self.assertEqual(settings.get_job_name(), 'job')
Esempio n. 17
0
    def test_edit_job_with_invalid_shift_date(self):
        # register event first to create job
        event = ['event-name', '2050-08-21', '2050-09-28']
        created_event = create_event_with_details(event)

        # create job
        job = ['job', '2050-08-21', '2050-08-21', '', created_event]
        created_job = create_job_with_details(job)

        # create shift
        shift = ['2050-08-21', '09:00', '12:00', '10', created_job]
        create_shift_with_details(shift)

        self.settings.go_to_events_page()
        settings = self.settings
        settings.live_server_url = self.live_server_url
        settings.navigate_to_job_list_view()

        invalid_job_one = [
            'event-name', 'changed job name', 'job description', '2050-09-01',
            '2050-09-11'
        ]

        # edit job with date range such that the shift start date no longer
        # falls in the range
        settings.go_to_edit_job_page()
        settings.fill_job_form(invalid_job_one)

        # check job not edited and proper error message displayed
        self.assertNotEqual(self.driver.current_url,
                            self.live_server_url + settings.job_list_page)
        self.assertEqual(
            settings.get_template_error_message(),
            'You cannot edit this job as 1 associated shift no longer lies within the new date range'
        )
Esempio n. 18
0
def setUpModule():
    """
    - Creates objects which can be reused by multiple test classes
    - Creates shifts with limited slots and with multiple slots for use
    """

    global e1
    global j1, j2
    global s1, s2, s3

    event_1 = ["Open Source Event", "2012-9-1", "2012-11-23"]
    e1 = create_event_with_details(event_1)

    job_1 = [
        "Software Developer", "2012-10-22", "2012-10-30", "A software job", e1
    ]
    job_2 = [
        "Systems Administrator", "2012-9-1", "2012-10-26",
        "A systems administrator job", e1
    ]
    j1 = create_job_with_details(job_1)
    j2 = create_job_with_details(job_2)

    shift_1 = ["2012-10-28", "9:00", "15:00", 1, j1]
    shift_2 = ["2012-10-25", "10:00", "16:00", 2, j1]
    shift_3 = ["2012-10-22", "10:00", "16:00", 4, j2]

    s1 = create_shift_with_details(shift_1)
    s2 = create_shift_with_details(shift_2)
    s3 = create_shift_with_details(shift_3)
Esempio n. 19
0
    def test_delete_shift(self):
        # register event first to create job
        event = ['event-name', '2050-08-21', '2050-09-28']
        created_event = create_event_with_details(event)

        # create job
        job = ['job', '2050-08-21', '2050-08-30', '', created_event]
        created_job = create_job_with_details(job)

        # create shift
        shift = ['2050-08-21', '09:00', '12:00', '10', created_job]
        create_shift_with_details(shift)

        self.settings.go_to_events_page()
        settings = self.settings
        settings.live_server_url = self.live_server_url
        settings.navigate_to_shift_list_view()
        self.assertNotEqual(settings.get_results(), None)

        # delete shift
        self.delete_shift_from_list()

        # check deletion of shift
        settings.navigate_to_shift_list_view()
        self.assertEqual(settings.get_message_context(), 'There are currently no shifts. Please create shifts first.')
Esempio n. 20
0
    def test_edit_shift(self):
        """
        Test edit of shift with valid values.
        """
        # register event first to create job
        event = {
            'name': 'event-name',
            'start_date': '2050-08-21',
            'end_date': '2050-09-28',
            'address': 'event-address',
            'venue': 'event-venue',
            'description': 'event-description'
        }
        created_event = create_event_with_details(event)

        # create job
        job = {
            'name': 'job',
            'start_date': '2050-08-21',
            'end_date': '2050-08-30',
            'description': '',
            'event': created_event
        }
        created_job = create_job_with_details(job)

        # create shift
        shift = {
            'date': '2050-08-21',
            'start_time': '09:00',
            'end_time': '12:00',
            'max_volunteers': '10',
            'job': created_job,
            'address': 'shift-address',
            'venue': 'shift-venue'
        }
        create_shift_with_details(shift)

        self.settings.go_to_events_page()
        settings = self.settings
        settings.live_server_url = self.live_server_url
        settings.navigate_to_shift_list_view()
        settings.go_to_edit_shift_page()

        # edit shift with date between job dates
        shift = {
            'date': '08/25/2050',
            'start_time': '10:00',
            'end_time': '13:00',
            'max_volunteers': '2',
            'address': 'shift-address',
            'venue': 'shift-venue'
        }
        settings.fill_shift_form(shift)

        with self.assertRaises(NoSuchElementException):
            settings.get_help_block()

        self.assertEqual(settings.get_shift_date(), 'Aug. 25, 2050')
Esempio n. 21
0
    def test_edit_shift_with_invalid_timings(self):
        """
        Test edit of shift with invalid time.
        """
        # register event first to create job
        event = {
            'name': 'event-name',
            'start_date': '2050-08-21',
            'end_date': '2050-09-28',
            'address': 'event-address',
            'venue': 'event-venue',
            'description': 'event-description'
        }
        created_event = create_event_with_details(event)

        # create job
        job = {
            'name': 'job',
            'start_date': '2050-08-21',
            'end_date': '2050-08-30',
            'description': '',
            'event': created_event
        }
        created_job = create_job_with_details(job)

        # create shift
        shift = {
            'date': '2050-08-21',
            'start_time': '09:00',
            'end_time': '12:00',
            'max_volunteers': '10',
            'job': created_job,
            'address': 'shift-address',
            'venue': 'shift-venue'
        }
        create_shift_with_details(shift)

        self.settings.go_to_events_page()
        settings = self.settings
        settings.live_server_url = self.live_server_url
        settings.navigate_to_shift_list_view()
        settings.go_to_edit_shift_page()

        # edit shift with end hours less than start hours
        invalid_shift = {
            'date': '08/30/2050',
            'start_time': '18:00',
            'end_time': '13:00',
            'max_volunteers': '5',
            'address': 'shift-address',
            'venue': 'shift-venue'
        }
        settings.fill_shift_form(invalid_shift)

        # verify that shift was not edited and error message displayed
        self.assertEqual(settings.get_help_block().text,
                         'Start time must be before the end time')
Esempio n. 22
0
    def test_edit_shift_with_invalid_date(self):
        """
        Test edit of shift with date not lying in job's date.
        """
        # register event first to create job
        event = {
            'name': 'event-name',
            'start_date': '2050-08-21',
            'end_date': '2050-09-28',
            'address': 'event-address',
            'venue': 'event-venue',
            'description': 'event-description'
        }
        created_event = create_event_with_details(event)

        # create job
        job = {
            'name': 'job',
            'start_date': '2050-08-21',
            'end_date': '2050-08-30',
            'description': '',
            'event': created_event
        }
        created_job = create_job_with_details(job)

        # create shift
        shift = {
            'date': '2050-08-21',
            'start_time': '09:00',
            'end_time': '12:00',
            'max_volunteers': '10',
            'job': created_job,
            'address': 'shift-address',
            'venue': 'shift-venue'
        }
        create_shift_with_details(shift)

        self.settings.go_to_events_page()
        settings = self.settings
        settings.live_server_url = self.live_server_url
        settings.navigate_to_shift_list_view()
        settings.go_to_edit_shift_page()

        # edit shift with date not between job dates
        invalid_shift = {
            'date': '02/05/2050',
            'start_time': '04:00',
            'end_time': '13:00',
            'max_volunteers': '2',
            'address': 'shift-address',
            'venue': 'shift-venue'
        }
        settings.fill_shift_form(invalid_shift)

        # verify that shift was not edited and error message displayed
        self.assertEqual(settings.get_warning_context(),
                         'Shift date should lie within Job dates')
Esempio n. 23
0
    def test_delete_job_with_associated_shifts(self):
        """
        Test deletion of job with shifts linked.
        """
        # register event first to create job
        event = {
            'name': 'event-name',
            'start_date': '2050-08-21',
            'end_date': '2050-09-28',
            'address': 'event-address',
            'venue': 'event-venue',
            'description': 'event-description'
        }
        created_event = create_event_with_details(event)

        # create job
        job = {
            'name': 'job',
            'start_date': '2050-08-21',
            'end_date': '2050-08-21',
            'description': '',
            'event': created_event
        }
        created_job = create_job_with_details(job)

        # create shift
        shift = {
            'date': '2050-08-21',
            'start_time': '09:00',
            'end_time': '12:00',
            'max_volunteers': '10',
            'job': created_job,
            'address': 'shift-address',
            'venue': 'shift-venue'
        }
        create_shift_with_details(shift)

        self.settings.go_to_events_page()
        settings = self.settings
        settings.live_server_url = self.live_server_url

        # delete job
        settings.navigate_to_job_list_view()
        self.delete_job_from_list()

        self.assertNotEqual(settings.get_danger_message(), None)
        self.assertEqual(
            settings.get_template_error_message(),
            'You cannot delete a job that a shift is '
            'currently associated with.')

        # check job NOT deleted
        settings.navigate_to_job_list_view()
        self.assertEqual(settings.get_job_name(), job['name'])
Esempio n. 24
0
    def test_delete_shift(self):
        """
        Test deletion of shift.
        """
        # register event first to create job
        event = {
            'name': 'event-name',
            'start_date': '2050-08-21',
            'end_date': '2050-09-28',
            'address': 'event-address',
            'venue': 'event-venue',
            'description': 'event-description'
        }
        created_event = create_event_with_details(event)

        # create job
        job = {
            'name': 'job',
            'start_date': '2050-08-21',
            'end_date': '2050-08-30',
            'description': '',
            'event': created_event
        }
        created_job = create_job_with_details(job)

        # create shift
        shift = {
            'date': '2050-08-21',
            'start_time': '09:00',
            'end_time': '12:00',
            'max_volunteers': '10',
            'job': created_job,
            'address': 'shift-address',
            'venue': 'shift-venue'
        }
        create_shift_with_details(shift)

        self.settings.go_to_events_page()
        settings = self.settings
        settings.live_server_url = self.live_server_url
        settings.navigate_to_shift_list_view()
        self.assertNotEqual(settings.get_results(), None)

        # delete shift
        self.delete_shift_from_list()

        # check deletion of shift
        settings.navigate_to_shift_list_view()
        self.assertEqual(
            settings.get_message_context(),
            'There are currently no shifts. Please create shifts first.')
Esempio n. 25
0
def setUpModule():
    """
    Creates events, jobs and shifts which can be reused by multiple test classes
    """

    global e1, e2, e3, e4, e5
    global j1, j2, j3, j4, j5
    global s1, s2, s3, s4

    event_1 = ["Open Source Event", "2012-10-22", "2012-10-23"]
    event_2 = ["Python Event", "2013-11-12", "2013-11-13"]
    event_3 = ["Django Event", "2015-07-02", "2015-07-03"]
    event_4 = ["Systers Event", "2015-07-25", "2015-08-08"]
    event_5 = ["Anita Borg Event", "2015-07-07", "2015-07-08"]

    e1 = create_event_with_details(event_1)
    e2 = create_event_with_details(event_2)
    e3 = create_event_with_details(event_3)
    e4 = create_event_with_details(event_4)
    e5 = create_event_with_details(event_5)

    job_1 = [
        "Software Developer", "2012-10-22", "2012-10-23", "A software job", e1
    ]
    job_2 = [
        "Systems Administrator", "2013-11-12", "2013-11-13",
        "A systems administrator job", e2
    ]
    job_3 = [
        "Backend Dev", "2012-10-8", "2012-10-16", "A java developer job", e4
    ]
    job_4 = ["Instructor", "2012-10-22", "2012-10-23", "", e4]
    job_5 = ["Instructor", "2012-10-22", "2012-10-23", "", e3]

    j1 = create_job_with_details(job_1)
    j2 = create_job_with_details(job_2)
    j3 = create_job_with_details(job_3)
    j4 = create_job_with_details(job_4)
    j5 = create_job_with_details(job_5)

    # shifts with limited, plenty and no slots
    shift_1 = ["2012-10-23", "9:00", "15:00", 1, j1]
    shift_2 = ["2012-10-23", "10:00", "16:00", 2, j1]
    shift_3 = ["2013-11-12", "12:00", "18:00", 4, j2]
    shift_4 = ["2013-10-23", "10:00", "18:00", 1, j4]

    s1 = create_shift_with_details(shift_1)
    s2 = create_shift_with_details(shift_2)
    s3 = create_shift_with_details(shift_3)
    s4 = create_shift_with_details(shift_4)
Esempio n. 26
0
def setUpModule():
    """
    Creates events, jobs and shifts which can be reused by multiple test classes
    """

    global e1, e2, e3, e4, e5
    global j1, j2, j3, j4, j5
    global s1, s2, s3, s4

    event_1 = ["Open Source Event", "2012-10-22", "2012-10-23"]
    event_2 = ["Python Event", "2013-11-12", "2013-11-13"]
    event_3 = ["Django Event", "2015-07-02", "2015-07-03"]
    event_4 = ["Systers Event", "2015-07-25", "2015-08-08"]
    event_5 = ["Anita Borg Event", "2015-07-07", "2015-07-08"]

    e1 = create_event_with_details(event_1)
    e2 = create_event_with_details(event_2)
    e3 = create_event_with_details(event_3)
    e4 = create_event_with_details(event_4)
    e5 = create_event_with_details(event_5)

    job_1 = [
        "Software Developer", "2012-10-22", "2012-10-23", "A software job", e1
    ]
    job_2 = [
        "Systems Administrator", "2013-11-12", "2013-11-13",
        "A systems administrator job", e2
    ]
    job_3 = [
        "Backend Dev", "2012-10-8", "2012-10-16", "A java developer job", e4
    ]
    job_4 = ["Instructor", "2012-10-22", "2012-10-23", "", e4]
    job_5 = ["Instructor", "2012-10-22", "2012-10-23", "", e3]

    j1 = create_job_with_details(job_1)
    j2 = create_job_with_details(job_2)
    j3 = create_job_with_details(job_3)
    j4 = create_job_with_details(job_4)
    j5 = create_job_with_details(job_5)

    # shifts with limited, plenty and no slots
    shift_1 = ["2012-10-23", "9:00", "15:00", 1, j1]
    shift_2 = ["2012-10-23", "10:00", "16:00", 2, j1]
    shift_3 = ["2013-11-12", "12:00", "18:00", 4, j2]
    shift_4 = ["2013-10-23", "10:00", "18:00", 1, j4]

    s1 = create_shift_with_details(shift_1)
    s2 = create_shift_with_details(shift_2)
    s3 = create_shift_with_details(shift_3)
    s4 = create_shift_with_details(shift_4)
Esempio n. 27
0
    def create_shift(shift):
        """
        Utility function to create a valid shift.
        :param shift: Iterable containing details of shift.
        :return: Shift type object.
        """
        # Register event to create job
        event = {
            'name': 'event-name',
            'start_date': '2050-05-20',
            'end_date': '2050-05-20',
            'description': 'event-description',
            'address': 'event-address',
            'venue': 'event-venue'
        }
        e1 = create_event_with_details(event)

        # Create job to create shift
        job = {
            'name': 'job name',
            'start_date': '2050-05-20',
            'end_date': '2050-05-20',
            'description': 'job description',
            'event': e1
        }
        j1 = create_job_with_details(job)

        # Create shift to assign
        shift['job'] = j1
        s1 = create_shift_with_details(shift)

        return s1
Esempio n. 28
0
    def test_max_volunteer_field(self):
        event = ['event-name', '2017-08-21', '2017-09-28']
        created_event = create_event_with_details(event)
        job = ['job', '2017-08-21', '2017-08-21', '',created_event]
        created_job = create_job_with_details(job)

        settings = self.settings
        settings.live_server_url = self.live_server_url
        settings.navigate_to_shift_list_view()
        settings.go_to_create_shift_page()

        invalid_shift = ['01/01/2016','12:00','11:00','0']
        settings.fill_shift_form(invalid_shift)

        # verify that error message displayed
        self.assertEqual(settings.get_shift_max_volunteer_error(),
            'Ensure this value is greater than or equal to 1.')

        # Create shift and try editing it with 0 value
        shift = ['2017-08-21', '09:00', '12:00', '10', created_job]
        created_shift = create_shift_with_details(shift)

        settings.navigate_to_shift_list_view()
        settings.go_to_edit_shift_page()
        settings.fill_shift_form(invalid_shift)

        # verify that error message displayed
        self.assertEqual(settings.get_shift_max_volunteer_error(),
            'Ensure this value is greater than or equal to 1.')
Esempio n. 29
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)
Esempio n. 30
0
    def test_null_values_in_edit_shift(self):
        # register event to create job
        event = ['event-name', '2017-08-21', '2017-09-28']
        created_event = create_event_with_details(event)

        # create job with values
        job = ['job', '2017-08-21', '2017-08-21', '',created_event]
        created_job = create_job_with_details(job)

        # create shift
        shift = ['2017-08-21', '09:00', '12:00', '10', created_job]
        created_shift = create_shift_with_details(shift)

        settings = self.settings
        settings.live_server_url = self.live_server_url
        settings.navigate_to_shift_list_view()
        settings.go_to_edit_shift_page()

        # edit shift with null values
        shift = ['', '', '', '']
        settings.fill_shift_form(shift)

        # verify that shift was not edited and error messages appear as
        # expected
        self.assertEqual(len(settings.get_help_blocks()), 4)

        self.assertEqual(settings.get_shift_date_error(), 'This field is required.')
        self.assertEqual(settings.get_shift_start_time_error(), 'This field is required.')
        self.assertEqual(settings.get_shift_end_time_error(), 'This field is required.')
        self.assertEqual(settings.get_shift_max_volunteer_error(), 'This field is required.')

        # database check to ensure that shift was not edited
        self.assertEqual(len(Shift.objects.all()), 1)
        self.assertNotEqual(len(Shift.objects.filter(date=created_shift.date)), 0)
Esempio n. 31
0
 def register_dataset():
     """
     Utility function to create data for testing
     :return: Shift type of object.
     """
     e1 = create_event_with_details({
         'name': 'event',
         'start_date': '2050-06-15',
         'end_date': '2050-06-17',
         'description': 'event-description',
         'address': 'event-address',
         'venue': 'event-venue'
     })
     j1 = create_job_with_details({
         'name': 'job',
         'start_date': '2050-06-15',
         'end_date': '2050-06-15',
         'description': 'job description',
         'event': e1
     })
     s1 = create_shift_with_details({
         'date': '2050-06-15',
         'start_time': '09:00',
         'end_time': '15:00',
         'max_volunteers': '6',
         'job': j1,
         'address': 'shift-address',
         'venue': 'shift-venue'
     })
     return s1
Esempio n. 32
0
    def test_only_logged_shifts_are_reported(self):
        # register dataset
        org = create_organization_with_details('organization-one')
        volunteer = create_volunteer()
        volunteer.organization = org
        volunteer.save()

        # register event first to create job
        event = ['Hackathon', '2017-08-21', '2017-09-28']
        created_event = create_event_with_details(event)

        # create job
        job = ['Developer', '2017-08-21', '2017-08-30', '', created_event]
        created_job = create_job_with_details(job)

        # create shift
        shift = ['2017-08-21', '09:00', '15:00', '10', created_job]
        created_shift = create_shift_with_details(shift)

        # shift is assigned to volunteer-one, but hours have not been logged
        volunteer_shift = register_volunteer_for_shift_utility(
            created_shift, volunteer)

        report_page = self.report_page
        # check admin report with null fields, should not return the above shift
        report_page.fill_report_form(['', '', '', '', ''])
        self.assertEqual(report_page.get_alert_box_text(),
                         report_page.no_results_message)
Esempio n. 33
0
    def test_simplify_shift(self):
        event = ['event-name', '2017-08-21', '2017-09-28']
        created_event = create_event_with_details(event)
        job = ['job', '2017-08-21', '2017-08-21', '',created_event]
        created_job = create_job_with_details(job)

        settings = self.settings
        settings.live_server_url = self.live_server_url
        settings.navigate_to_shift_list_view()
        settings.go_to_create_shift_page()

        # verify that the correct job name and date are displayed
        self.assertEqual(settings.get_shift_job(), 'job')
        self.assertEqual(settings.get_shift_job_start_date(), 'Aug. 21, 2017')
        self.assertEqual(settings.get_shift_job_end_date(), 'Aug. 21, 2017')

        # Create shift and check job details in edit form
        shift = ['2017-08-21', '09:00', '12:00', '10', created_job]
        created_shift = create_shift_with_details(shift)
        settings.navigate_to_shift_list_view()
        settings.go_to_edit_shift_page()

        # verify that the correct job name and date are displayed
        self.assertEqual(settings.get_shift_job(), 'job')
        self.assertEqual(settings.get_shift_job_start_date(), 'Aug. 21, 2017')
        self.assertEqual(settings.get_shift_job_end_date(), 'Aug. 21, 2017')
Esempio n. 34
0
    def test_simplify_shift(self):
        event = ['event-name', '2017-08-21', '2017-09-28']
        created_event = create_event_with_details(event)
        job = ['job', '2017-08-21', '2017-08-21', '', created_event]
        created_job = create_job_with_details(job)

        settings = self.settings
        settings.live_server_url = self.live_server_url
        settings.navigate_to_shift_list_view()
        settings.go_to_create_shift_page()

        # verify that the correct job name and date are displayed
        self.assertEqual(settings.get_shift_job(), 'job')
        self.assertEqual(settings.get_shift_job_start_date(), 'Aug. 21, 2017')
        self.assertEqual(settings.get_shift_job_end_date(), 'Aug. 21, 2017')

        # Create shift and check job details in edit form
        shift = ['2017-08-21', '09:00', '12:00', '10', created_job]
        created_shift = create_shift_with_details(shift)
        settings.navigate_to_shift_list_view()
        settings.go_to_edit_shift_page()

        # verify that the correct job name and date are displayed
        self.assertEqual(settings.get_shift_job(), 'job')
        self.assertEqual(settings.get_shift_job_start_date(), 'Aug. 21, 2017')
        self.assertEqual(settings.get_shift_job_end_date(), 'Aug. 21, 2017')
Esempio n. 35
0
 def register_dataset(self):
     e1 = create_event_with_details(['event', '2017-06-15', '2017-06-17'])
     j1 = create_job_with_details(
         ['job', '2017-06-15', '2017-06-15', 'job description', e1])
     s1 = create_shift_with_details(
         ['2017-06-15', '09:00', '15:00', '6', j1])
     return s1
Esempio n. 36
0
    def test_max_volunteer_field(self):
        event = ['event-name', '2017-08-21', '2017-09-28']
        created_event = create_event_with_details(event)
        job = ['job', '2017-08-21', '2017-08-21', '', created_event]
        created_job = create_job_with_details(job)

        settings = self.settings
        settings.live_server_url = self.live_server_url
        settings.navigate_to_shift_list_view()
        settings.go_to_create_shift_page()

        invalid_shift = ['01/01/2016', '12:00', '11:00', '0']
        settings.fill_shift_form(invalid_shift)

        # verify that error message displayed
        self.assertEqual(settings.get_shift_max_volunteer_error(),
                         'Ensure this value is greater than or equal to 1.')

        # Create shift and try editing it with 0 value
        shift = ['2017-08-21', '09:00', '12:00', '10', created_job]
        created_shift = create_shift_with_details(shift)

        settings.navigate_to_shift_list_view()
        settings.go_to_edit_shift_page()
        settings.fill_shift_form(invalid_shift)

        # verify that error message displayed
        self.assertEqual(settings.get_shift_max_volunteer_error(),
                         'Ensure this value is greater than or equal to 1.')
Esempio n. 37
0
    def test_delete_shift_with_volunteer(self):
        # register event first to create job
        event = ['event-name', '2017-08-21', '2017-09-28']
        created_event = create_event_with_details(event)

        # create job
        job = ['job', '2017-08-21', '2017-08-30', '',created_event]
        created_job = create_job_with_details(job)

        # create shift
        shift = ['2017-08-21', '09:00', '12:00', '10', created_job]
        created_shift = create_shift_with_details(shift)

        # create volunteer for shift
        volunteer = create_volunteer()
        shift_volunteer = register_volunteer_for_shift_utility(
            created_shift, volunteer)

        settings = self.settings
        settings.live_server_url = self.live_server_url
        settings.navigate_to_shift_list_view()

        # delete shift
        self.delete_shift_from_list()

        # check error message displayed and shift not deleted
        self.assertEqual(settings.get_template_error_message(),
            'You cannot delete a shift that a volunteer has signed up for.')

        # database check to ensure that shift is not deleted
        self.assertEqual(len(Shift.objects.all()), 1)
        self.assertNotEqual(len(Shift.objects.filter(date = created_shift.date)), 0)
Esempio n. 38
0
 def register_unlogged_dataset(self):
     """
     Utility function to register data for testing.
     """
     created_event = create_event_with_details({
         'name': 'event-unlogged',
         'start_date': '2015-06-01',
         'end_date': '2015-06-10',
         'description': 'event-description',
         'address': 'event-address',
         'venue': 'event-venue'
     })
     created_job = create_job_with_details({
         'name': 'jobUnlogged',
         'start_date': '2015-06-01',
         'end_date': '2015-06-10',
         'description': 'job description',
         'event': created_event
     })
     created_shift = create_shift_with_details({
         'date': '2015-06-01',
         'start_time': '09:00',
         'end_time': '15:00',
         'max_volunteers': '10',
         'job': created_job,
         'address': 'shift-address',
         'venue': 'shift-venue'
     })
     registered_shift =\
         register_volunteer_for_shift_utility(created_shift, self.v1)
Esempio n. 39
0
    def test_only_logged_shifts_are_reported(self):
        # register dataset
        org = create_organization_with_details('organization-one')
        volunteer = create_volunteer()
        volunteer.organization = org
        volunteer.save()

        # register event first to create job
        event = ['Hackathon', '2017-08-21', '2017-09-28']
        created_event = create_event_with_details(event)

        # create job
        job = ['Developer', '2017-08-21', '2017-08-30', '',created_event]
        created_job = create_job_with_details(job)

        # create shift
        shift = ['2017-08-21', '09:00', '15:00', '10', created_job]
        created_shift = create_shift_with_details(shift)

        # shift is assigned to volunteer-one, but hours have not been logged
        volunteer_shift = register_volunteer_for_shift_utility(created_shift, volunteer)

        report_page = self.report_page
        # check admin report with null fields, should not return the above shift
        report_page.fill_report_form(['','','','',''])
        self.assertEqual(report_page.get_alert_box_text(),report_page.no_results_message)
Esempio n. 40
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'))
Esempio n. 41
0
 def register_logged_dataset(self):
     """
     Utility function to create valid data for test.
     """
     # Create shift and log hours
     e1 = create_event_with_details({
         'name': 'event',
         'start_date': '2015-06-15',
         'end_date': '2015-06-17',
         'description': 'event-description',
         'address': 'event-address',
         'venue': 'event-venue'
     })
     j1 = create_job_with_details({
         'name': 'job',
         'start_date': '2015-06-15',
         'end_date': '2015-06-15',
         'description': 'job description',
         'event': e1
     })
     s1 = create_shift_with_details({
         'date': '2015-06-15',
         'start_time': '09:00',
         'end_time': '15:00',
         'max_volunteers': '6',
         'job': j1,
         'address': 'shift-address',
         'venue': 'shift-venue'
     })
     log_hours_with_details(self.v1, s1, '12:00', '13:00')
Esempio n. 42
0
    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)
Esempio n. 43
0
    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 register_dataset(self):

        created_event = create_event_with_details(['event-four', '2017-06-01', '2017-06-10'])
        created_job = create_job_with_details(
            ['jobOneInEventFour', '2017-06-01', '2017-06-10', 'job description', created_event]
            )
        created_shift = create_shift_with_details(['2017-06-01', '09:00', '15:00', '10', created_job])
        registered_shift = register_volunteer_for_shift_utility(created_shift, self.v1)
Esempio n. 45
0
 def create_invalid_shift(self):
     """
     Utility function to create an invalid shift.
     :return: Shift type object
     """
     shift = ['2050-05-29', '12:00:00', '09:00:00', '10', self.job]
     created_shift = create_shift_with_details(shift)
     return created_shift
Esempio n. 46
0
    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)
Esempio n. 47
0
 def register_dataset():
     """
     Utility function to create data for testing
     :return: Shift type of object.
     """
     e1 = create_event_with_details(['event', '2050-06-15', '2050-06-17'])
     j1 = create_job_with_details(
         ['job', '2050-06-15', '2050-06-15', 'job description', e1])
     s1 = create_shift_with_details(
         ['2050-06-15', '09:00', '15:00', '6', j1])
     return s1
Esempio n. 48
0
    def test_max_volunteer_field(self):
        self.settings.go_to_events_page()
        settings = self.settings
        settings.live_server_url = self.live_server_url

        event = ['event-name', '2050-05-24', '2050-05-28']
        created_event = create_event_with_details(event)
        job = ['job', '2050-05-24', '2050-05-28', '', created_event]
        created_job = create_job_with_details(job)

        settings.navigate_to_shift_list_view()
        settings.go_to_create_shift_page()

        invalid_shift = ['01/01/2018', '12:00', '11:00', '0']
        settings.fill_shift_form(invalid_shift)

        # Check error message
        self.wait.until(
            EC.presence_of_element_located(
                (By.XPATH, "//form//div[7]/div/p/strong[contains(text(),"
                           "'Ensure this value is greater than or equal to 1.')]")
            )
        )
        self.assertEqual(settings.get_shift_max_volunteer_error(), 'Ensure this value is greater than or equal to 1.')

        # Create shift and edit with 0 value
        shift = ['2050-05-24', '09:00', '12:00', '10', created_job]
        create_shift_with_details(shift)

        settings.navigate_to_shift_list_view()
        settings.go_to_edit_shift_page()
        settings.fill_shift_form(invalid_shift)

        # Check error message
        self.wait.until(
            EC.presence_of_element_located(
                (By.XPATH, "//form//div[7]/div/p/strong[contains(text(),"
                           "'Ensure this value is greater than or equal to 1.')]")
            )
        )
        self.assertEqual(settings.get_shift_max_volunteer_error(), 'Ensure this value is greater than or equal to 1.')
Esempio n. 49
0
    def setup_test_data(cls):
        event_1 = ["Software Conference","2012-10-3","2012-10-24"]
        cls.e1 = create_event_with_details(event_1)

        job_1 = ["Software Developer","2012-10-22","2012-10-23","A software job",e1]
        job_2 = ["Systems Administrator","2012-10-8","2012-10-16","A systems administrator job",e1]

        cls.j1 = create_job_with_details(job_1)
        cls.j2 = create_job_with_details(job_2)

        shift_1 = ["2012-10-23","1:00","3:00",1,cls.j1]
        cls.s1 = create_shift_with_details(shift_1)
    def create_shift(self, shift):
        # register event to create job
        event = ['event-name', '2017-05-20', '2017-05-20']
        e1 = create_event_with_details(event)

        # create job to create shift
        job = ['job name', '2017-05-20', '2017-05-20', 'job description', e1]
        j1 = create_job_with_details(job)

        # create shift to assign
        shift_1 = ['2017-05-20', shift[0], shift[1], shift[2], j1]
        s1 = create_shift_with_details(shift_1)

        return s1
Esempio n. 51
0
 def register_dataset(self):
     """
     Utility function to create valid data for test.
     """
     # Create shift and log hours
     e1 = create_event_with_details(
         ['event', '2050-06-15', '2050-06-17']
     )
     j1 = create_job_with_details(
         ['job', '2050-06-15', '2050-06-15', 'job description', e1]
     )
     s1 = create_shift_with_details(
         ['2050-06-15', '09:00', '15:00', '6', j1]
     )
     log_hours_with_details(self.v1, s1, '12:00', '13:00')
Esempio n. 52
0
    def create_shift(shift):
        """
        Utility function to create a valid shift.
        :param shift: Iterable containing details of shift.
        :return: Shift type object.
        """
        # Register event to create job
        event = ['event-name', '2050-05-20', '2050-05-20']
        e1 = create_event_with_details(event)

        # Create job to create shift
        job = ['job name', '2050-05-20', '2050-05-20', 'job description', e1]
        j1 = create_job_with_details(job)

        # Create shift to assign
        shift_1 = ['2050-05-20', shift[0], shift[1], shift[2], j1]
        s1 = create_shift_with_details(shift_1)

        return s1
Esempio n. 53
0
    def test_field_value_retention_for_shift(self):
        event = ['event-name', '2017-08-21', '2017-09-28']
        created_event = create_event_with_details(event)
        job = ['job', '2017-08-21', '2017-08-21', '',created_event]
        created_job = create_job_with_details(job)

        settings = self.settings
        settings.live_server_url = self.live_server_url
        settings.navigate_to_shift_list_view()
        settings.go_to_create_shift_page()

        invalid_shift = ['01/01/2016', '12:00', '11:00', '10']
        settings.fill_shift_form(invalid_shift)

        # verify that shift was not created and that field values are not
        # erased
        # self.check_shift_form_values(invalid_shift)

        # database check to ensure that shift was not created
        self.assertEqual(len(Shift.objects.all()), 0)

        # now create shift and edit it
        # verify that shift was not edited and that field values are not
        # erased
        shift = ['2017-08-21', '09:00', '12:00', '10', created_job]
        created_shift = create_shift_with_details(shift)
        settings.navigate_to_shift_list_view()
        settings.go_to_edit_shift_page()

        settings.fill_shift_form(invalid_shift)
        # verify that shift was not created and that field values are not
        # erased
        # self.check_shift_form_values(invalid_shift)

        # database check to ensure that shift was not edited
        self.assertEqual(len(Shift.objects.all()), 1)
        self.assertNotEqual(len(Shift.objects.filter(date=created_shift.date)), 0)
 def register_dataset(self):
     e1 = create_event_with_details(['event', '2017-06-15', '2017-06-17'])
     j1 = create_job_with_details(['job', '2017-06-15', '2017-06-15', 'job description', e1])
     s1 = create_shift_with_details(['2017-06-15', '09:00', '15:00', '6', j1])
     return s1
Esempio n. 55
0
 def create_shift(self):
     shift = ['2015-05-24', '09:00:00', '12:00:00', '10', self.job]
     created_shift = create_shift_with_details(shift)
     return created_shift