コード例 #1
0
    def test_delete_course_references_progress(self):
        completion = progress_models.CourseModuleCompletion.objects.create(
            user=self.user,
            course_id=unicode(self.course.id),
            content_id=unicode(self.chapter.location))
        progress = progress_models.StudentProgress.objects.create(
            user=self.user, course_id=self.course.id, completions=10)

        self.assertEqual(
            progress_models.CourseModuleCompletion.objects.filter(
                id=completion.id).count(), 1)
        self.assertEqual(
            progress_models.StudentProgress.objects.filter(
                course_id=self.course.id).count(), 1)
        self.assertEqual(
            progress_models.StudentProgressHistory.objects.filter(
                user=self.user, course_id=self.course.id).count(), 1)

        # Run the course deletion command
        delete_course_references.Command().handle(unicode(self.course.id),
                                                  'commit')

        # Validate that the course references were removed
        self.assertEqual(
            progress_models.CourseModuleCompletion.objects.filter(
                id=completion.id).count(), 0)
        self.assertEqual(
            progress_models.StudentProgress.objects.filter(
                id=progress.id).count(), 0)
        self.assertEqual(
            progress_models.StudentProgressHistory.objects.filter(
                user=self.user, course_id=self.course.id).count(), 0)
コード例 #2
0
    def test_delete_course_references_edx_solutions_api_integration(self):
        """
        Test the workflow
        """
        # Set up the data to be removed
        group = Group.objects.create(name='TestGroup')
        group_profile = GroupProfile.objects.create(group=group)

        course_group_relationship = CourseGroupRelationship.objects.create(
            course_id=unicode(self.course.id), group=group)
        content_group_relationship = CourseContentGroupRelationship.objects.create(
            course_id=unicode(self.course.id),
            content_id=unicode(self.chapter.location),
            group_profile=group_profile)

        self.assertEqual(
            CourseGroupRelationship.objects.filter(
                id=course_group_relationship.id).count(), 1)
        self.assertEqual(
            CourseContentGroupRelationship.objects.filter(
                id=content_group_relationship.id).count(), 1)

        # Run the data migration
        delete_course_references.Command().handle(unicode(self.course.id),
                                                  'commit')

        # Validate that the course references were removed
        self.assertEqual(
            CourseGroupRelationship.objects.filter(
                id=course_group_relationship.id).count(), 0)
        self.assertEqual(
            CourseContentGroupRelationship.objects.filter(
                id=content_group_relationship.id).count(), 0)
コード例 #3
0
    def test_delete_course_references_gradebook(self):
        gradebook = gradebook_models.StudentGradebook.objects.create(
            user=self.user,
            course_id=unicode(self.course.id),
            grade=0.65,
            proforma_grade=0.75)

        self.assertEqual(
            gradebook_models.StudentGradebook.objects.filter(
                id=gradebook.id).count(), 1)
        self.assertEqual(
            gradebook_models.StudentGradebookHistory.objects.filter(
                user=self.user, course_id=self.course.id).count(), 1)

        # Run the course deletion command
        delete_course_references.Command().handle(unicode(self.course.id),
                                                  'commit')

        # Validate that the course references were removed
        self.assertEqual(
            gradebook_models.StudentGradebook.objects.filter(
                id=gradebook.id).count(), 0)
        self.assertEqual(
            gradebook_models.StudentGradebookHistory.objects.filter(
                user=self.user, course_id=self.course.id).count(), 0)
コード例 #4
0
    def test_delete_course_references_projects(self):
        project = project_models.Project.objects.create(
            course_id=unicode(self.course.id),
            content_id=unicode(self.chapter.location))
        workgroup = project_models.Workgroup.objects.create(
            project=project, name='TEST WORKGROUP')
        workgroup_user = project_models.WorkgroupUser.objects.create(
            workgroup=workgroup, user=self.user)
        workgroup_review = project_models.WorkgroupReview.objects.create(
            workgroup=workgroup,
            reviewer=self.user,
            question='test',
            answer='test',
            content_id=unicode(self.chapter.location),
        )
        workgroup_peer_review = project_models.WorkgroupPeerReview.objects.create(
            workgroup=workgroup,
            user=self.user,
            reviewer=self.user,
            question='test',
            answer='test',
            content_id=unicode(self.chapter.location),
        )
        workgroup_submission = project_models.WorkgroupSubmission.objects.create(
            workgroup=workgroup,
            user=self.user,
            document_id='test',
            document_url='test',
            document_mime_type='test',
        )
        workgroup_submission_review = project_models.WorkgroupSubmissionReview.objects.create(
            submission=workgroup_submission,
            reviewer=self.user,
            question='test',
            answer='test',
            content_id=unicode(self.chapter.location),
        )

        self.assertEqual(
            project_models.Project.objects.filter(id=project.id).count(), 1)
        self.assertEqual(
            project_models.Workgroup.objects.filter(id=workgroup.id).count(),
            1)
        self.assertEqual(
            project_models.WorkgroupUser.objects.filter(
                id=workgroup_user.id).count(), 1)
        self.assertEqual(
            project_models.WorkgroupReview.objects.filter(
                id=workgroup_review.id).count(), 1)
        self.assertEqual(
            project_models.WorkgroupSubmission.objects.filter(
                id=workgroup_submission.id).count(), 1)
        self.assertEqual(
            project_models.WorkgroupSubmissionReview.objects.filter(
                id=workgroup_submission_review.id).count(), 1)
        self.assertEqual(
            project_models.WorkgroupPeerReview.objects.filter(
                id=workgroup_peer_review.id).count(), 1)

        # Run the course deletion command
        delete_course_references.Command().handle(unicode(self.course.id),
                                                  'commit')

        # Validate that the course references were removed
        self.assertEqual(
            project_models.Project.objects.filter(id=project.id).count(), 0)
        self.assertEqual(
            project_models.Workgroup.objects.filter(id=workgroup.id).count(),
            0)
        self.assertEqual(
            project_models.WorkgroupUser.objects.filter(
                id=workgroup_user.id).count(), 0)
        self.assertEqual(
            project_models.WorkgroupReview.objects.filter(
                id=workgroup_review.id).count(), 0)
        self.assertEqual(
            project_models.WorkgroupSubmission.objects.filter(
                id=workgroup_submission.id).count(), 0)
        self.assertEqual(
            project_models.WorkgroupSubmissionReview.objects.filter(
                id=workgroup_submission_review.id).count(), 0)
        self.assertEqual(
            project_models.WorkgroupPeerReview.objects.filter(
                id=workgroup_peer_review.id).count(), 0)