def test_redirect_to_handle_consent_enrollment_view(self): """ ``redirect`` properly redirects to ``enterprise.views.HandleConsentEnrollmentView``. """ self.request = mock.MagicMock(path=reverse( 'enterprise_handle_consent_enrollment', args=[self.enterprise_customer.uuid, self.course_run_id])) assert views.RouterView().redirect( self.request, **self.kwargs) == 'handle_consent_enrollment_view'
def test_get_raises_404_with_bad_course_key(self, catalog_api_mock): """ ``get`` raises a 404 when a course run cannot be found given the provided course key. """ fake_catalog_api.setup_course_catalog_api_client_mock( catalog_api_mock, course_overrides={'course_runs': []}) kwargs = { 'enterprise_uuid': str(self.enterprise_customer.uuid), 'course_key': 'fake_course_key' } with self.assertRaises(Http404): views.RouterView().get(self.request, **kwargs)
def test_get_raises_404_with_bad_catalog_client(self, catalog_api_mock): """ ``get`` raises a 404 when the catalog client is not properly configured. """ catalog_api_mock.return_value.get_course_details.side_effect = ImproperlyConfigured( ) kwargs = { 'enterprise_uuid': str(self.enterprise_customer.uuid), 'course_key': 'fake_course_key' } with self.assertRaises(Http404): views.RouterView().get(self.request, **kwargs)
def test_redirect_to_program_enrollment_view(self): """ ``redirect`` properly redirects to ``enterprise.views.ProgramEnrollmentView``. """ self.request = mock.MagicMock(path=reverse( 'enterprise_program_enrollment_page', args=[self.enterprise_customer.uuid, '52ad909b-c57d-4ff1-bab3-999813a2479b'] )) self.kwargs = { 'enterprise_uuid': str(self.enterprise_customer.uuid), 'program_uuid': '52ad909b-c57d-4ff1-bab3-999813a2479b' } assert views.RouterView().redirect(self.request, **self.kwargs) == 'program_enrollment_view'
def test_get_raises_404_with_bad_catalog_client(self, catalog_api_mock, mock_global_context): """ ``get`` responds with a 404 when the catalog client is not properly configured. """ mock_global_context.return_value = {} catalog_api_mock.return_value.get_course_details.side_effect = ImproperlyConfigured() kwargs = { 'enterprise_uuid': str(self.enterprise_customer.uuid), 'course_key': 'fake_course_key' } with mock.patch('enterprise.views.render') as mock_render: mock_render.return_value = HttpResponse() # Must return response to keep view happy views.RouterView().get(self.request, **kwargs) assert mock_render.call_args_list[0][1]['status'] == 404
def test_get_raises_404_with_bad_course_key(self, catalog_api_mock, mock_global_context): """ ``get`` responds with a 404 when a course run cannot be found given the provided course key. """ mock_global_context.return_value = {} fake_catalog_api.setup_course_catalog_api_client_mock( catalog_api_mock, course_overrides={'course_runs': []}) kwargs = { 'enterprise_uuid': str(self.enterprise_customer.uuid), 'course_key': 'fake_course_key' } with mock.patch('enterprise.views.render') as mock_render: mock_render.return_value = HttpResponse( ) # Must return response to keep view happy views.RouterView().get(self.request, **kwargs) assert mock_render.call_args_list[0][1]['status'] == 404
def test_eligible_for_direct_audit_enrollment( self, request_has_audit_query_param, is_course_enrollment_url, customer_catalog_contains_course, has_course_mode, expected_eligibility, enrollment_api_client_mock, ): # pylint: disable=invalid-name """ ``eligible_for_direct_audit_enrollment`` returns whether the request is eligible for direct audit enrollment. """ self.request.GET.get = mock.MagicMock( return_value=request_has_audit_query_param) self.request.path = self.request.path if is_course_enrollment_url else None self.enterprise_customer.catalog_contains_course = mock.MagicMock( return_value=customer_catalog_contains_course) enrollment_api_client_mock.return_value.has_course_mode.return_value = has_course_mode assert views.RouterView().eligible_for_direct_audit_enrollment( self.request, self.enterprise_customer, self.course_run_id) == expected_eligibility
def test_redirect_to_course_enrollment_view(self): """ ``redirect`` properly redirects to ``enterprise.views.CourseEnrollmentView``. """ assert views.RouterView().redirect( self.request, **self.kwargs) == 'course_enrollment_view'