Overhaul Segment.io integration
This commit is contained in:
committed by
Renzo Lucioni
parent
9b8c47ab4e
commit
8bd84b5f3a
44
lms/djangoapps/instructor_analytics/tests/test_basic.py
Normal file
44
lms/djangoapps/instructor_analytics/tests/test_basic.py
Normal file
@@ -0,0 +1,44 @@
|
||||
"""
|
||||
Tests for instructor.basic
|
||||
"""
|
||||
|
||||
from django.test import TestCase
|
||||
from student.models import CourseEnrollment
|
||||
from student.tests.factories import UserFactory
|
||||
from opaque_keys.edx.locations import SlashSeparatedCourseKey
|
||||
|
||||
from instructor_analytics.basic import enrolled_students_features, AVAILABLE_FEATURES, STUDENT_FEATURES, PROFILE_FEATURES
|
||||
|
||||
|
||||
class TestAnalyticsBasic(TestCase):
|
||||
""" Test basic analytics functions. """
|
||||
|
||||
def setUp(self):
|
||||
self.course_key = SlashSeparatedCourseKey('robot', 'course', 'id')
|
||||
self.users = tuple(UserFactory() for _ in xrange(30))
|
||||
self.ces = tuple(CourseEnrollment.enroll(user, self.course_key)
|
||||
for user in self.users)
|
||||
|
||||
def test_enrolled_students_features_username(self):
|
||||
self.assertIn('username', AVAILABLE_FEATURES)
|
||||
userreports = enrolled_students_features(self.course_key, ['username'])
|
||||
self.assertEqual(len(userreports), len(self.users))
|
||||
for userreport in userreports:
|
||||
self.assertEqual(userreport.keys(), ['username'])
|
||||
self.assertIn(userreport['username'], [user.username for user in self.users])
|
||||
|
||||
def test_enrolled_students_features_keys(self):
|
||||
query_features = ('username', 'name', 'email')
|
||||
for feature in query_features:
|
||||
self.assertIn(feature, AVAILABLE_FEATURES)
|
||||
userreports = enrolled_students_features(self.course_key, query_features)
|
||||
self.assertEqual(len(userreports), len(self.users))
|
||||
for userreport in userreports:
|
||||
self.assertEqual(set(userreport.keys()), set(query_features))
|
||||
self.assertIn(userreport['username'], [user.username for user in self.users])
|
||||
self.assertIn(userreport['email'], [user.email for user in self.users])
|
||||
self.assertIn(userreport['name'], [user.profile.name for user in self.users])
|
||||
|
||||
def test_available_features(self):
|
||||
self.assertEqual(len(AVAILABLE_FEATURES), len(STUDENT_FEATURES + PROFILE_FEATURES))
|
||||
self.assertEqual(set(AVAILABLE_FEATURES), set(STUDENT_FEATURES + PROFILE_FEATURES))
|
||||
Reference in New Issue
Block a user