Exemple #1
0
    def setUp(self):
        self.user = User.objects.create_user(username='******', password='******')
        self.client.login(username='******', password='******')

        self.course = Course(title='test_title', addedBy=self.user)
        self.course.save()
        self.unit = Unit(title='test unit title', addedBy=self.user)
        self.unit.save()
        self.course_unit = CourseUnit(
            course=self.course,
            unit=self.unit,
            order=0,
            addedBy=self.user
        )
        self.course_unit.releaseTime = timezone.now() - datetime.timedelta(days=1)
        self.course_unit.save()

        self.enroll = EnrollUnitCode(courseUnit=self.course_unit)
        self.enroll.save()

        self.role = Role(course=self.course, user=self.user, role=Role.INSTRUCTOR)
        self.role.save()

        self.student_role = Role(course=self.course, user=self.user, role=Role.ENROLLED)
        self.student_role.save()

        self.concept = Concept.new_concept('bad', 'idea', self.unit, self.user)

        self.lesson = Lesson(
            title='New York Test Lesson',
            text='brr',
            addedBy=self.user,
            kind=Lesson.ORCT_QUESTION
        )
        self.lesson.save_root(self.concept)

        self.unit_lesson = UnitLesson(
            unit=self.unit,
            lesson=self.lesson,
            addedBy=self.user,
            treeID=self.lesson.id,
            order=0
        )
        self.unit_lesson.save()

        self.unit_lesson_answer = UnitLesson(
            parent=self.unit_lesson,
            unit=self.unit,
            lesson=self.lesson,
            addedBy=self.user,
            treeID=self.lesson.id,
            kind=UnitLesson.ANSWERS
        )
        self.unit_lesson_answer.save()

        self.user = User.objects.create_user(username='******', password='******')

        call_command('fsm_deploy')
Exemple #2
0
 def setUp(self):
     self.user = User.objects.create_user(username='******', password='******')
     self.client.login(username='******', password='******')
     self.course = Course(title='test_title', addedBy=self.user)
     self.course.save()
     self.unit = Unit(title='test unit title', addedBy=self.user)
     self.unit.save()
     self.course_unit = CourseUnit(course=self.course,
                                   unit=self.unit,
                                   order=0,
                                   addedBy=self.user)
     self.course_unit.save()
     self.role = Role(course=self.course,
                      user=self.user,
                      role=Role.INSTRUCTOR)
     self.role.save()
     self.concept = Concept.new_concept('bad', 'idea', self.unit, self.user)
     self.lesson = Lesson(title='New York Test Lesson',
                          text='brr',
                          addedBy=self.user)
     self.lesson.save_root(self.concept)
     self.unit_lesson = UnitLesson(unit=self.unit,
                                   lesson=self.lesson,
                                   addedBy=self.user,
                                   treeID=self.lesson.id)
     self.unit_lesson.save()
Exemple #3
0
 def test_not_enroll_second_time(self):
     """
     Should not enroll second time if already enrolled.
     """
     enroll_code = EnrollUnitCode.get_code(self.courseunit)
     self.client.login(username='******', password='******')
     role = Role(role=Role.ENROLLED, course=self.course, user=self.user)
     role.save()
     response = self.client.get(reverse('chat:chat_enroll', args=(enroll_code,)), follow=True)
     self.assertEquals(
         Role.objects.filter(role=Role.ENROLLED, user=self.user, course=self.course).count(),
         1
     )
Exemple #4
0
def create_courseref(request):
    """
    Create CourseRef and Course entry based on context_title.
    """
    request_dict = request.session['LTI_POST']
    if not request.session.get('is_valid'):
        return redirect(reverse('ct:home'))
    context_id = request_dict.get('context_id')
    roles_from_request = request_dict.get('roles', '').split(',')
    roles = list(
        set((ROLES_MAP.get(role, Role.ENROLLED)
             for role in roles_from_request)))
    # Make sure this context_id is not used
    course_ref = CourseRef.objects.filter(context_id=context_id).first()
    if course_ref:
        if Role.INSTRUCTOR in roles:
            return redirect(reverse('ct:course',
                                    args=(course_ref.course.id, )))
        else:
            return redirect(reverse('ct:home'))

    course = Course(title=request_dict.get('context_title',
                                           'Course title for %s' % context_id),
                    addedBy=request.user)
    course.save()
    role = Role(role=Role.INSTRUCTOR, course=course, user=request.user)
    role.save()
    course_id = course.id
    course_ref = CourseRef(course=course,
                           context_id=context_id,
                           tc_guid=request_dict.get(
                               'tool_consumer_instance_guid',
                               request.META.get('HTTP_HOST')))
    course_ref.save()
    course_ref.instructors.add(request.user)

    return redirect(reverse('ct:edit_course', args=(course_id, )))
Exemple #5
0
    def setUp(self):
        self.user = User.objects.create_user(username='******', password='******')
        self.client.login(username='******', password='******')

        self.course = Course(title='test_title', addedBy=self.user)
        self.course.save()

        self.unit = Unit(title='test unit title', addedBy=self.user)
        self.unit.save()

        self.course_unit = CourseUnit(course=self.course, unit=self.unit, order=0, addedBy=self.user)
        self.course_unit.save()

        self.role = Role(course=self.course, user=self.user, role=Role.INSTRUCTOR)
        self.role.save()

        self.enroll = EnrollUnitCode.get_code_for_user_chat(self.course_unit, True, self.user)

        self.history_live_chat = Chat(
            user=self.user,
            is_live=True,
            enroll_code=self.enroll
        )
        self.history_live_chat.save()
    def setUp(self):
        """
        Preconditions.
        """
        from chat.fsm_plugin.chat import get_specs
        from chat.fsm_plugin.additional import get_specs as get_specs_additional
        self.client = Client()
        self.user = User.objects.create_user('test', '*****@*****.**', 'test')
        get_specs()[0].save_graph(self.user.username)
        get_specs_additional()[0].save_graph(self.user.username)

        mocked_nonce = '135685044251684026041377608307'
        mocked_timestamp = '1234567890'
        mocked_decoded_signature = 'my_signature='
        self.headers = {
            'user_id': 1,
            'lis_person_name_full': 'Test Username',
            'lis_person_name_given': 'First',
            'lis_person_name_family': 'Second',
            'lis_person_contact_email_primary': '*****@*****.**',
            'lis_person_sourcedid': 'Test_Username',
            'oauth_callback': 'about:blank',
            'launch_presentation_return_url': '',
            'lti_message_type': 'basic-lti-launch-request',
            'lti_version': 'LTI-1p0',
            'roles': 'Student',
            'context_id': 1,
            'tool_consumer_info_product_family_code': 'moodle',
            'context_title': 'Test title',
            'tool_consumer_instance_guid': 'test.dot.com',
            'resource_link_id': 'dfgsfhrybvrth',
            'lis_result_sourcedid': 'wesgaegagrreg',
            'oauth_nonce': mocked_nonce,
            'oauth_timestamp': mocked_timestamp,
            'oauth_consumer_key': 'consumer_key',
            'oauth_signature_method': 'HMAC-SHA1',
            'oauth_version': '1.0',
            'oauth_signature': mocked_decoded_signature
        }

        self.unit = Unit(title='Test title', addedBy=self.user)
        self.unit.save()
        self.course = Course(title='Test title',
                             description='test description',
                             access='Public',
                             enrollCode='111',
                             lockout='222',
                             addedBy=self.user)
        self.course.save()
        self.course_ref = CourseRef(
            course=self.course,
            context_id=self.headers.get('context_id'),
            tc_guid=self.headers.get('tool_consumer_instance_guid'))
        self.course_ref.save()
        self.course_ref.instructors.add(self.user)

        self.role1 = Role(
            role=Role.ENROLLED,
            user=self.user,
            course=self.course,
        )
        self.role1.save()

        self.courseunit = CourseUnit(unit=self.unit,
                                     course=self.course,
                                     order=0,
                                     addedBy=self.user,
                                     releaseTime=timezone.now())
        self.courseunit.save()
        lesson = Lesson(title='title', text='text', addedBy=self.user)
        lesson.save()
        unitlesson = UnitLesson(unit=self.unit,
                                order=0,
                                lesson=lesson,
                                addedBy=self.user,
                                treeID=lesson.id)
        unitlesson.save()
        self.lti_consumer = LtiConsumer(consumer_name='test',
                                        consumer_key='consumer_key',
                                        consumer_secret='test_key')
        self.lti_consumer.save()