Commit 08ed3b54 by Eric Fischer

CohortMemberships Unit Test Updates

Updating previously-existing unit tests to function with the new
CohortMembership model.
parent 83163e58
...@@ -1486,8 +1486,7 @@ def cohort_students_and_upload(_xmodule_instance_args, _entry_id, course_id, tas ...@@ -1486,8 +1486,7 @@ def cohort_students_and_upload(_xmodule_instance_args, _entry_id, course_id, tas
continue continue
try: try:
with transaction.commit_on_success(): add_user_to_cohort(cohorts_status[cohort_name]['cohort'], username_or_email)
add_user_to_cohort(cohorts_status[cohort_name]['cohort'], username_or_email)
cohorts_status[cohort_name]['Students Added'] += 1 cohorts_status[cohort_name]['Students Added'] += 1
task_progress.succeeded += 1 task_progress.succeeded += 1
except User.DoesNotExist: except User.DoesNotExist:
......
...@@ -20,7 +20,7 @@ from certificates.tests.factories import GeneratedCertificateFactory, Certificat ...@@ -20,7 +20,7 @@ from certificates.tests.factories import GeneratedCertificateFactory, Certificat
from course_modes.models import CourseMode from course_modes.models import CourseMode
from courseware.tests.factories import InstructorFactory from courseware.tests.factories import InstructorFactory
from instructor_task.tests.test_base import InstructorTaskCourseTestCase, TestReportMixin, InstructorTaskModuleTestCase from instructor_task.tests.test_base import InstructorTaskCourseTestCase, TestReportMixin, InstructorTaskModuleTestCase
from openedx.core.djangoapps.course_groups.models import CourseUserGroupPartitionGroup from openedx.core.djangoapps.course_groups.models import CourseUserGroupPartitionGroup, CohortMembership
from openedx.core.djangoapps.course_groups.tests.helpers import CohortFactory from openedx.core.djangoapps.course_groups.tests.helpers import CohortFactory
import openedx.core.djangoapps.user_api.course_tag.api as course_tag_api import openedx.core.djangoapps.user_api.course_tag.api as course_tag_api
from openedx.core.djangoapps.user_api.partition_schemes import RandomUserPartitionScheme from openedx.core.djangoapps.user_api.partition_schemes import RandomUserPartitionScheme
...@@ -144,8 +144,10 @@ class TestInstructorGradeReport(InstructorGradeReportTestCase): ...@@ -144,8 +144,10 @@ class TestInstructorGradeReport(InstructorGradeReportTestCase):
magneto = u'MàgnëtÖ' magneto = u'MàgnëtÖ'
cohort1 = CohortFactory(course_id=course.id, name=professor_x) cohort1 = CohortFactory(course_id=course.id, name=professor_x)
cohort2 = CohortFactory(course_id=course.id, name=magneto) cohort2 = CohortFactory(course_id=course.id, name=magneto)
cohort1.users.add(user1) membership1 = CohortMembership(course_user_group=cohort1, user=user1)
cohort2.users.add(user2) membership1.save()
membership2 = CohortMembership(course_user_group=cohort2, user=user2)
membership2.save()
self._verify_cell_data_for_user(user1.username, course.id, 'Cohort Name', professor_x) self._verify_cell_data_for_user(user1.username, course.id, 'Cohort Name', professor_x)
self._verify_cell_data_for_user(user2.username, course.id, 'Cohort Name', magneto) self._verify_cell_data_for_user(user2.username, course.id, 'Cohort Name', magneto)
...@@ -1399,8 +1401,10 @@ class TestCohortStudents(TestReportMixin, InstructorTaskCourseTestCase): ...@@ -1399,8 +1401,10 @@ class TestCohortStudents(TestReportMixin, InstructorTaskCourseTestCase):
) )
def test_move_users_to_new_cohort(self): def test_move_users_to_new_cohort(self):
self.cohort_1.users.add(self.student_1) membership1 = CohortMembership(course_user_group=self.cohort_1, user=self.student_1)
self.cohort_2.users.add(self.student_2) membership1.save()
membership2 = CohortMembership(course_user_group=self.cohort_2, user=self.student_2)
membership2.save()
result = self._cohort_students_and_upload( result = self._cohort_students_and_upload(
u'username,email,cohort\n' u'username,email,cohort\n'
...@@ -1417,8 +1421,10 @@ class TestCohortStudents(TestReportMixin, InstructorTaskCourseTestCase): ...@@ -1417,8 +1421,10 @@ class TestCohortStudents(TestReportMixin, InstructorTaskCourseTestCase):
) )
def test_move_users_to_same_cohort(self): def test_move_users_to_same_cohort(self):
self.cohort_1.users.add(self.student_1) membership1 = CohortMembership(course_user_group=self.cohort_1, user=self.student_1)
self.cohort_2.users.add(self.student_2) membership1.save()
membership2 = CohortMembership(course_user_group=self.cohort_2, user=self.student_2)
membership2.save()
result = self._cohort_students_and_upload( result = self._cohort_students_and_upload(
u'username,email,cohort\n' u'username,email,cohort\n'
......
...@@ -11,7 +11,7 @@ from xmodule.modulestore.django import modulestore ...@@ -11,7 +11,7 @@ from xmodule.modulestore.django import modulestore
from xmodule.modulestore import ModuleStoreEnum from xmodule.modulestore import ModuleStoreEnum
from ..cohorts import set_course_cohort_settings from ..cohorts import set_course_cohort_settings
from ..models import CourseUserGroup, CourseCohort, CourseCohortsSettings from ..models import CourseUserGroup, CourseCohort, CourseCohortsSettings, CohortMembership
class CohortFactory(DjangoModelFactory): class CohortFactory(DjangoModelFactory):
...@@ -41,6 +41,15 @@ class CourseCohortFactory(DjangoModelFactory): ...@@ -41,6 +41,15 @@ class CourseCohortFactory(DjangoModelFactory):
class Meta(object): class Meta(object):
model = CourseCohort model = CourseCohort
@post_generation
def memberships(self, create, extracted, **kwargs): # pylint: disable=unused-argument
"""
Returns the memberships linking users to this cohort.
"""
for user in self.course_user_group.users.all(): # pylint: disable=E1101
membership = CohortMembership(user=user, course_user_group=self.course_user_group)
membership.save()
course_user_group = factory.SubFactory(CohortFactory) course_user_group = factory.SubFactory(CohortFactory)
assignment_type = 'manual' assignment_type = 'manual'
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment