def get_context_data(self, **kwargs): context = super(EnrollmentDemographicsGenderView, self).get_context_data(**kwargs) presenter = CourseEnrollmentDemographicsPresenter(self.course_id) gender_data = None trend = None known_enrollment_percent = None last_updated = None try: last_updated, gender_data, trend, known_enrollment_percent = presenter.get_gender( ) except NotFoundError: logger.error( "Failed to retrieve enrollment demographic gender data for %s.", self.course_id) # add the enrollment data for the page context['js_data']['course']['genders'] = gender_data context['js_data']['course']['genderTrend'] = trend context.update({ 'update_message': self.get_last_updated_message(last_updated), 'chart_tooltip_value': self.format_percentage(known_enrollment_percent), 'data_information_message': self.data_information_message }) context['page_data'] = self.get_page_data(context) return context
def get_context_data(self, **kwargs): context = super(EnrollmentDemographicsEducationView, self).get_context_data(**kwargs) presenter = CourseEnrollmentDemographicsPresenter(self.course_id) binned_education = None summary = None known_enrollment_percent = None last_updated = None try: last_updated, summary, binned_education, known_enrollment_percent = presenter.get_education( ) except NotFoundError: logger.error( "Failed to retrieve enrollment demographic education data for %s.", self.course_id) # add the enrollment data for the page context['js_data']['course']['education'] = binned_education context.update({ 'summary': summary, 'chart_tooltip_value': self.format_percentage(known_enrollment_percent), 'update_message': self.get_last_updated_message(last_updated), 'data_information_message': self.data_information_message }) context['page_data'] = self.get_page_data(context) return context
def get_context_data(self, **kwargs): context = super(EnrollmentDemographicsGenderView, self).get_context_data(**kwargs) presenter = CourseEnrollmentDemographicsPresenter(self.course_id) gender_data = None trend = None known_enrollment_percent = None last_updated = None try: last_updated, gender_data, trend, known_enrollment_percent = presenter.get_gender() except NotFoundError: logger.error("Failed to retrieve enrollment demographic gender data for %s.", self.course_id) # add the enrollment data for the page context['js_data']['course']['genders'] = gender_data context['js_data']['course']['genderTrend'] = trend context.update({ 'update_message': self.get_last_updated_message(last_updated), 'chart_tooltip_value': self.format_percentage(known_enrollment_percent), 'data_information_message': self.data_information_message }) context['page_data'] = self.get_page_data(context) return context
def get_context_data(self, **kwargs): context = super(EnrollmentDemographicsEducationView, self).get_context_data(**kwargs) presenter = CourseEnrollmentDemographicsPresenter(self.course_id) binned_education = None summary = None known_enrollment_percent = None last_updated = None try: last_updated, summary, binned_education, known_enrollment_percent = presenter.get_education() except NotFoundError: logger.error("Failed to retrieve enrollment demographic education data for %s.", self.course_id) # add the enrollment data for the page context['js_data']['course']['education'] = binned_education context.update({ 'summary': summary, 'chart_tooltip_value': self.format_percentage(known_enrollment_percent), 'update_message': self.get_last_updated_message(last_updated), 'data_information_message': self.data_information_message }) context['page_data'] = self.get_page_data(context) return context
class CourseEnrollmentDemographicsPresenterTests(TestCase): def setUp(self): self.course_id = 'edX/DemoX/Demo_Course' self.presenter = CourseEnrollmentDemographicsPresenter(self.course_id) @mock.patch('analyticsclient.course.Course.enrollment') def test_get_gender(self, mock_gender): mock_data = utils.get_mock_api_enrollment_gender_data(self.course_id) mock_gender.return_value = mock_data last_updated, gender_data, trend, known_percent = self.presenter.get_gender( ) self.assertEqual(last_updated, utils.CREATED_DATETIME) self.assertListEqual(gender_data, utils.get_presenter_enrollment_gender_data()) self.assertListEqual( trend, utils.get_presenter_enrollment_gender_trend(self.course_id)) self.assertEqual(known_percent, 0.5) @mock.patch('analyticsclient.course.Course.enrollment') def test_get_ages(self, mock_age): mock_data = utils.get_mock_api_enrollment_age_data(self.course_id) mock_age.return_value = mock_data last_updated, summary, binned_ages, known_percent = self.presenter.get_ages( ) self.assertEqual(last_updated, utils.CREATED_DATETIME) self.assertDictEqual(summary, utils.get_presenter_enrollment_ages_summary()) self.assertListEqual(binned_ages, utils.get_presenter_enrollment_binned_ages()) self.assertEqual(known_percent, 0.5) @mock.patch('analyticsclient.course.Course.enrollment') def test_get_education(self, mock_education): mock_data = utils.get_mock_api_enrollment_education_data( self.course_id) mock_education.return_value = mock_data last_updated, education_summary, education_levels, known_percent = self.presenter.get_education( ) self.assertEqual(last_updated, utils.CREATED_DATETIME) self.assertDictEqual( education_summary, utils.get_mock_presenter_enrollment_education_summary()) self.assertListEqual( education_levels, utils.get_mock_presenter_enrollment_education_data()) self.assertEqual(known_percent, 0.5)
class CourseEnrollmentDemographicsPresenterTests(TestCase): def setUp(self): self.course_id = 'edX/DemoX/Demo_Course' self.presenter = CourseEnrollmentDemographicsPresenter(self.course_id) @mock.patch('analyticsclient.course.Course.enrollment') def test_get_gender(self, mock_gender): mock_data = utils.get_mock_api_enrollment_gender_data(self.course_id) mock_gender.return_value = mock_data last_updated, gender_data, trend, known_percent = self.presenter.get_gender() self.assertEqual(last_updated, utils.CREATED_DATETIME) self.assertListEqual(gender_data, utils.get_presenter_enrollment_gender_data()) self.assertListEqual(trend, utils.get_presenter_enrollment_gender_trend(self.course_id)) self.assertEqual(known_percent, 0.5) @mock.patch('analyticsclient.course.Course.enrollment') def test_get_ages(self, mock_age): mock_data = utils.get_mock_api_enrollment_age_data(self.course_id) mock_age.return_value = mock_data last_updated, summary, binned_ages, known_percent = self.presenter.get_ages() self.assertEqual(last_updated, utils.CREATED_DATETIME) self.assertDictEqual(summary, utils.get_presenter_enrollment_ages_summary()) self.assertListEqual(binned_ages, utils.get_presenter_enrollment_binned_ages()) self.assertEqual(known_percent, 0.5) @mock.patch('analyticsclient.course.Course.enrollment') def test_get_education(self, mock_education): mock_data = utils.get_mock_api_enrollment_education_data(self.course_id) mock_education.return_value = mock_data last_updated, education_summary, education_levels, known_percent = self.presenter.get_education() self.assertEqual(last_updated, utils.CREATED_DATETIME) self.assertDictEqual(education_summary, utils.get_mock_presenter_enrollment_education_summary()) self.assertListEqual(education_levels, utils.get_mock_presenter_enrollment_education_data()) self.assertEqual(known_percent, 0.5)
def setUp(self): self.course_id = 'edX/DemoX/Demo_Course' self.presenter = CourseEnrollmentDemographicsPresenter(self.course_id)