def test_check_volunteer_reports(self): search_page = self.search_page search_page.live_server_url = self.live_server_url credentials_1 = [ 'volunteer-username', 'volunteer-first-name', 'VOLUNTEER-LAST-NAME', 'volunteer-address', 'volunteer-city', 'volunteer-state', 'volunteer-country', '9999999999', '*****@*****.**' ] org_name = 'volunteer-organization' org_obj = create_organization_with_details(org_name) vol = create_volunteer_with_details(credentials_1, org_obj) register_past_event_utility() register_past_job_utility() shift = register_past_shift_utility() start=datetime.time(hour=10, minute=0) end=datetime.time(hour=11, minute=0) logged_shift = log_hours_with_details(vol, shift, start, end) report = create_report_with_details(vol, logged_shift) report.confirm_status = 1 report.save() search_page.navigate_to_volunteer_search_page() search_page.submit_form() self.assertEqual(search_page.element_by_xpath(self.elements.VIEW_REPORTS).text, 'View') search_page.element_by_xpath(self.elements.VIEW_REPORTS + '//a').click() self.assertEqual(search_page.remove_i18n(self.driver.current_url), self.live_server_url + PageUrls.volunteer_history_page + str(vol.id)) self.verify_report_details('1')
def test_intersection_of_fields(self): """ Test event generation using multiple fields at a time. """ report_page = self.report_page report_page.live_server_url = self.live_server_url register_past_event_utility() register_past_job_utility() register_past_shift_utility() log_hours_utility() report_page.navigate_to_report_page() [select1, select2] = report_page.get_event_job_selectors() select1.select_by_visible_text('event') select2.select_by_visible_text('job') report_page.fill_report_form({ 'start': '2012-06-11', 'end': '2012-06-16'}) self.verify_shift_details('3.0') # Event, Job correct and date incorrect [select1, select2] = report_page.get_event_job_selectors() select1.select_by_visible_text('event') select2.select_by_visible_text('job') report_page.fill_report_form({ 'start': '2015-05-10', 'end': '2015-06-01' }) self.assertEqual(report_page.get_alert_box_text(), report_page.no_results_message)
def test_date_field(self): """ Test report generation using date field. """ report_page = self.report_page report_page.live_server_url = self.live_server_url register_past_event_utility() register_past_job_utility() register_past_shift_utility() log_hours_utility() report_page.navigate_to_report_page() report_page.fill_report_form({ 'start': '2012-06-11', 'end': '2012-06-16' }) self.verify_shift_details('3.0') # Incorrect date report_page.fill_report_form({ 'start': '2015-05-10', 'end': '2015-06-01' }) self.assertEqual(report_page.get_alert_box_text(), report_page.no_results_message)
def test_intersection_of_fields(self): """ Test event generation using multiple fields at a time. """ report_page = self.report_page report_page.live_server_url = self.live_server_url register_past_event_utility() register_past_job_utility() register_past_shift_utility() log_hours_utility() report_page.navigate_to_report_page() [select1, select2] = report_page.get_event_job_selectors() select1.select_by_visible_text('event') select2.select_by_visible_text('job') report_page.fill_report_form({ 'start': '2012-06-11', 'end': '2012-06-16' }) self.verify_shift_details('3.0') # Event, Job correct and date incorrect [select1, select2] = report_page.get_event_job_selectors() select1.select_by_visible_text('event') select2.select_by_visible_text('job') report_page.fill_report_form({ 'start': '2015-05-10', 'end': '2015-06-01' }) self.assertEqual(report_page.get_alert_box_text(), report_page.no_results_message)
def test_check_report_volunteer(self): self.report_page.go_to_admin_report() country = create_country() state = create_state() city = create_city() credentials = { 'username': '******', 'first_name': 'VOLUNTEER-FIRST-NAME', 'last_name': 'volunteer-last-name', 'address': 'volunteer-address', 'city': city, 'state': state, 'country': country, 'phone_number': '9999999999', 'email': '*****@*****.**' } org_name = 'volunteer-organization' org_obj = create_organization_with_details(org_name) vol = create_volunteer_with_details(credentials, org_obj) register_past_event_utility() register_past_job_utility() shift = register_past_shift_utility() start = datetime.time(hour=10, minute=0) end = datetime.time(hour=11, minute=0) logged_shift = log_hours_with_details(vol, shift, start, end) create_report_with_details(vol, logged_shift) report_page = self.report_page report_page.get_page(self.live_server_url, PageUrls.administrator_report_page) self.assertEqual(report_page.get_volunteer_name(), 'VOLUNTEER-FIRST-NAME volunteer-last-name')
def test_check_report_hours(self): self.report_page.go_to_admin_report() vol = create_volunteer() register_past_event_utility() register_past_job_utility() shift = register_past_shift_utility() start=datetime.time(hour=10, minute=0) end=datetime.time(hour=11, minute=0) logged_shift = log_hours_with_details(vol, shift, start, end) create_report_with_details(vol, logged_shift) report_page = self.report_page report_page.get_page(self.live_server_url, PageUrls.administrator_report_page) self.assertEqual(report_page.get_hours(), '1.00')
def test_check_report_hours(self): self.report_page.go_to_admin_report() vol = create_volunteer() register_past_event_utility() register_past_job_utility() shift = register_past_shift_utility() start = datetime.time(hour=10, minute=0) end = datetime.time(hour=11, minute=0) logged_shift = log_hours_with_details(vol, shift, start, end) create_report_with_details(vol, logged_shift) report_page = self.report_page report_page.get_page(self.live_server_url, PageUrls.administrator_report_page) self.assertEqual(report_page.get_hours(), '1.00')
def test_report_with_empty_fields(self): """ Test report generation with no fields filled in form. """ report_page = self.report_page report_page.live_server_url = self.live_server_url register_past_event_utility() register_past_job_utility() register_past_shift_utility() log_hours_utility() report_page.navigate_to_report_page() report_page.submit_form() self.verify_shift_details('3.0')
def test_past_shifts_donot_appear_in_upcoming_shifts(self): register_past_event_utility() register_past_job_utility() shift = register_past_shift_utility() register_volunteer_for_shift_utility(shift, self.v1) upcoming_shift_page = self.upcoming_shift_page upcoming_shift_page.live_server_url = self.live_server_url upcoming_shift_page.view_upcoming_shifts() self.assertEqual(upcoming_shift_page.get_info_box(), upcoming_shift_page.no_shift_message) self.assertRaisesRegexp(NoSuchElementException, 'Unable to locate element: //table', upcoming_shift_page.get_result_container)
def test_only_logged_shifts_appear_in_report(self): """ Test only shifts with logged hours is shown in report. """ report_page = self.report_page report_page.live_server_url = self.live_server_url register_past_event_utility() register_past_job_utility() register_past_shift_utility() report_page.navigate_to_report_page() report_page.submit_form() self.assertEqual(report_page.get_alert_box_text(), report_page.no_results_message)
def test_reject_report(self): self.report_page.go_to_admin_report() vol = create_volunteer() register_past_event_utility() register_past_job_utility() shift = register_past_shift_utility() start=datetime.time(hour=10, minute=0) end=datetime.time(hour=11, minute=0) logged_shift = log_hours_with_details(vol, shift, start, end) create_report_with_details(vol, logged_shift) report_page = self.report_page report_page.get_page(self.live_server_url, PageUrls.administrator_report_page) self.assertEqual(report_page.get_rejection_context(), 'Reject') report_page.reject_report() with self.assertRaises(NoSuchElementException): report_page.get_report()
def test_job_field(self): """ Test event generation using job field. """ report_page = self.report_page report_page.live_server_url = self.live_server_url register_past_event_utility() register_past_job_utility() register_past_shift_utility() log_hours_utility() report_page.navigate_to_report_page() [select1, select2] = report_page.get_event_job_selectors() select2.select_by_visible_text('job') report_page.submit_form() self.verify_shift_details('3.0')
def test_reject_report(self): self.report_page.go_to_admin_report() vol = create_volunteer() register_past_event_utility() register_past_job_utility() shift = register_past_shift_utility() start = datetime.time(hour=10, minute=0) end = datetime.time(hour=11, minute=0) logged_shift = log_hours_with_details(vol, shift, start, end) create_report_with_details(vol, logged_shift) report_page = self.report_page report_page.get_page(self.live_server_url, PageUrls.administrator_report_page) self.assertEqual(report_page.get_rejection_context(), 'Reject') report_page.reject_report() with self.assertRaises(NoSuchElementException): report_page.get_report()
def test_email_on_report_approval(self): vol = create_volunteer() register_past_event_utility() register_past_job_utility() shift = register_past_shift_utility() start = datetime.time(hour=10, minute=0) end = datetime.time(hour=11, minute=0) logged_shift = log_hours_with_details(vol, shift, start, end) report = create_report_with_details(vol, logged_shift) mail.send_mail("Report Approved", "message", "*****@*****.**", [vol.email]) self.assertEqual(len(mail.outbox), 1) msg = mail.outbox[0] self.assertEqual(msg.subject, 'Report Approved') self.assertEqual(msg.to, ['*****@*****.**']) response = self.client.get('/administrator/report/approve/%s' % report.id) self.assertEqual(response.status_code, 302)
def test_check_report_volunteer(self): self.report_page.go_to_admin_report() credentials = [ 'volunteer-username', 'VOLUNTEER-FIRST-NAME', 'volunteer-last-name', 'volunteer-address', 'volunteer-city', 'volunteer-state', 'volunteer-country', '9999999999', '*****@*****.**' ] org_name = 'volunteer-organization' org_obj = create_organization_with_details(org_name) vol = create_volunteer_with_details(credentials, org_obj) register_past_event_utility() register_past_job_utility() shift = register_past_shift_utility() start=datetime.time(hour=10, minute=0) end=datetime.time(hour=11, minute=0) logged_shift = log_hours_with_details(vol, shift, start, end) create_report_with_details(vol, logged_shift) report_page = self.report_page report_page.get_page(self.live_server_url, PageUrls.administrator_report_page) self.assertEqual(report_page.get_volunteer_name(), 'VOLUNTEER-FIRST-NAME volunteer-last-name')
def test_email_on_reject_report(self): self.report_page.go_to_admin_report() vol = create_volunteer() register_past_event_utility() register_past_job_utility() shift = register_past_shift_utility() start = datetime.time(hour=10, minute=0) end = datetime.time(hour=11, minute=0) logged_shift = log_hours_with_details(vol, shift, start, end) create_report_with_details(vol, logged_shift) report_page = self.report_page report_page.get_page(self.live_server_url, PageUrls.administrator_report_page) self.assertEqual(report_page.get_rejection_context(), 'Reject') report_page.reject_report() mail.outbox = [] mail.send_mail("Report Rejected", "message", "*****@*****.**", [vol.email]) self.assertEqual(len(mail.outbox), 1) msg = mail.outbox[0] self.assertEqual(msg.subject, 'Report Rejected') self.assertEqual(msg.to, ['*****@*****.**'])