Example #1
0
    def assertSummaryAndTrendsValid(self, include_forum_activity,
                                    expected_trends):
        switch, _created = Switch.objects.get_or_create(
            name='show_engagement_forum_activity')
        switch.active = include_forum_activity
        switch.save()

        summary, trends = self.presenter.get_summary_and_trend_data()

        # Validate the trends
        self.assertEqual(len(expected_trends), len(trends))
        self.assertDictEqual(expected_trends[0], trends[0])
        self.assertDictEqual(expected_trends[1], trends[1])

        # Validate the summary
        expected_summary = mock_course_activity()[1]
        del expected_summary['created']
        del expected_summary['interval_end']

        if not include_forum_activity:
            del expected_summary[AT.POSTED_FORUM]

        expected_summary['last_updated'] = CREATED_DATETIME

        self.assertDictEqual(summary, expected_summary)
    def assertSummaryAndTrendsValid(self, include_forum_activity, expected_trends):
        self.toggle_switch('show_engagement_forum_activity', include_forum_activity)

        summary, trends = self.presenter.get_summary_and_trend_data()

        # Validate the trends
        self.assertEqual(len(expected_trends), len(trends))
        self.assertDictEqual(expected_trends[0], trends[0])
        self.assertDictEqual(expected_trends[1], trends[1])

        # Validate the summary
        expected_summary = utils.mock_course_activity()[1]
        del expected_summary['created']
        del expected_summary['interval_end']
        del expected_summary['course_id']
        expected_summary.update({
            'attempted_problem_percent_str': u"3.0% of current students",
            'posted_forum_percent_str': "--",
            'played_video_percent_str': u"10.0% of current students",
            'any_percent_str': u"< 1% of current students",
        })

        if not include_forum_activity:
            del expected_summary[AT.POSTED_FORUM]
            del expected_summary['posted_forum_percent_str']

        expected_summary['last_updated'] = utils.CREATED_DATETIME

        self.assertDictEqual(summary, expected_summary)
Example #3
0
    def assertSummaryAndTrendsValid(self, include_forum_activity,
                                    expected_trends):
        self.toggle_switch('show_engagement_forum_activity',
                           include_forum_activity)

        summary, trends = self.presenter.get_summary_and_trend_data()

        # Validate the trends
        self.assertEqual(len(expected_trends), len(trends))
        self.assertDictEqual(expected_trends[0], trends[0])
        self.assertDictEqual(expected_trends[1], trends[1])

        # Validate the summary
        expected_summary = utils.mock_course_activity()[1]
        del expected_summary['created']
        del expected_summary['interval_end']
        del expected_summary['course_id']
        expected_summary.update({
            'attempted_problem_percent_str': u"3.0% of current students",
            'posted_forum_percent_str': "--",
            'played_video_percent_str': u"10.0% of current students",
            'any_percent_str': u"< 1% of current students",
        })

        if not include_forum_activity:
            del expected_summary[AT.POSTED_FORUM]
            del expected_summary['posted_forum_percent_str']

        expected_summary['last_updated'] = utils.CREATED_DATETIME

        self.assertDictEqual(summary, expected_summary)
Example #4
0
    def test_get_summary_and_trend_data_small(self, mock_activity):
        api_trend = [mock_course_activity()[-1]]
        mock_activity.return_value = api_trend

        self.assertSummaryAndTrendsValid(False,
                                         self.get_expected_trends_small(False))
        self.assertSummaryAndTrendsValid(True,
                                         self.get_expected_trends_small(True))
    def assertSummaryAndTrendsValid(self, include_forum_activity, expected_trends):
        self.toggle_switch('show_engagement_forum_activity', include_forum_activity)

        summary, trends = self.presenter.get_summary_and_trend_data()

        # Validate the trends
        self.assertEqual(len(expected_trends), len(trends))
        self.assertDictEqual(expected_trends[0], trends[0])
        self.assertDictEqual(expected_trends[1], trends[1])

        # Validate the summary
        expected_summary = utils.mock_course_activity()[1]
        del expected_summary['created']
        del expected_summary['interval_end']
        del expected_summary['course_id']

        if not include_forum_activity:
            del expected_summary[AT.POSTED_FORUM]

        expected_summary['last_updated'] = utils.CREATED_DATETIME

        self.assertDictEqual(summary, expected_summary)
    def assertSummaryAndTrendsValid(self, include_forum_activity, expected_trends):
        switch, _created = Switch.objects.get_or_create(name='show_engagement_forum_activity')
        switch.active = include_forum_activity
        switch.save()

        summary, trends = self.presenter.get_summary_and_trend_data()

        # Validate the trends
        self.assertEqual(len(expected_trends), len(trends))
        self.assertDictEqual(expected_trends[0], trends[0])
        self.assertDictEqual(expected_trends[1], trends[1])

        # Validate the summary
        expected_summary = mock_course_activity()[1]
        del expected_summary['created']
        del expected_summary['interval_end']

        if not include_forum_activity:
            del expected_summary[AT.POSTED_FORUM]

        expected_summary['last_updated'] = CREATED_DATETIME

        self.assertDictEqual(summary, expected_summary)
Example #7
0
 def test_authorization(self):
     with mock.patch.object(analyticsclient.course.Course,
                            'activity',
                            return_value=mock_course_activity()):
         super(CourseEngagementViewTestMixin, self).test_authorization()
    def test_get_summary_and_trend_data_small(self, mock_activity):
        api_trend = [utils.mock_course_activity()[-1]]
        mock_activity.return_value = api_trend

        self.assertSummaryAndTrendsValid(False, self.get_expected_trends_small(False))
        self.assertSummaryAndTrendsValid(True, self.get_expected_trends_small(True))
Example #9
0
 def get_mock_data(self, course_id):
     return utils.mock_course_activity(course_id)
 def test_authorization(self):
     with mock.patch.object(analyticsclient.course.Course, 'activity', return_value=mock_course_activity()):
         super(CourseEngagementViewTestMixin, self).test_authorization()