def test_site(self): """ Tests expected CourseDailyMetrics behavior for working with a Site """ assert Site.objects.count() == 1 rec_data = dict( site=self.site, date_for=datetime.date(2018, 2, 2), enrollment_count=11, active_learners_today=1, average_progress=0.5, average_days_to_complete=5, num_learners_completed=10 ) rec = rec_data.copy() rec['course_id'] = 'course-v1:SomeOrg+ABC01+2121' obj = CourseDailyMetrics.objects.create(**rec) assert obj.site == Site.objects.first() rec['course_id'] = 'course-v1:AlphaOrg+ABC01+2121' alpha_site = SiteFactory(domain='alpha.example.com', name='Alpha') assert Site.objects.count() == 2 rec['site'] = alpha_site obj2 = CourseDailyMetrics.objects.create(**rec) assert obj2.site == alpha_site # Test cascade delete assert CourseDailyMetrics.objects.count() == 2 alpha_site.delete() assert CourseDailyMetrics.objects.count() == 1 # Verify we deleted the correct metrics object assert obj == CourseDailyMetrics.objects.first()
def test_multiple_sites(self): """ Tests expected SiteDailyMetrics behavior for working with a Site """ assert Site.objects.count() == 1 default_site = Site.objects.first() rec = dict( site=Site.objects.first(), date_for=datetime.date(2018, 02, 02), cumulative_active_user_count=11, total_user_count=1, course_count=1, total_enrollment_count=1 ) obj = SiteDailyMetrics.objects.create(**rec) assert obj.site == default_site alpha_site = SiteFactory(domain='alpha.example.com', name='Alpha') assert Site.objects.count() == 2 rec['site'] = alpha_site obj2 = SiteDailyMetrics.objects.create(**rec) assert obj2.site == alpha_site # Test cascade delete assert SiteDailyMetrics.objects.count() == 2 alpha_site.delete() assert SiteDailyMetrics.objects.count() == 1 # Verify we deleted the correct metrics object assert obj == SiteDailyMetrics.objects.first()