Beispiel #1
0
    def test_get_courses(self):
        user = User(username='******', email='*****@*****.**')
        user = create_profile(user)
        user.save()

        course = course_model.create_course(
            **{
                "title": "A test course",
                "hashtag": "ATC-1",
                "description": "This course is all about ABC",
                "language": "en",
                "organizer_uri": '/uri/user/testuser'
            })

        course = course_model.create_course(
            **{
                "title": "A unique test course",
                "hashtag": "AUTC-1",
                "description": "This course is all about ABC",
                "language": "en",
                "organizer_uri": '/uri/user/testuser99'
            })

        # get course by title
        courses = course_model.get_courses(title="A unique test course")
        self.assertEquals(len(courses), 1)

        # get course by user uri
        courses = course_model.get_courses(
            organizer_uri="/uri/user/testuser99")
        self.assertEquals(len(courses), 1)
Beispiel #2
0
    def test_get_courses(self):
        user = User(username='******', email='*****@*****.**')
        user = create_profile(user)
        user.save()

        course = course_model.create_course(
            **{
                "title": "A test course",
                "hashtag": "ATC-1",
                "description": "This course is all about ABC",
                "language": "en",
                "organizer_uri": '/uri/user/testuser'
            }
        )
        
        course = course_model.create_course(
            **{
                "title": "A unique test course",
                "hashtag": "AUTC-1",
                "description": "This course is all about ABC",
                "language": "en",
                "organizer_uri": '/uri/user/testuser99'
            }
        )


        # get course by title
        courses = course_model.get_courses(title="A unique test course")
        self.assertEquals(len(courses), 1)

        # get course by user uri
        courses = course_model.get_courses(organizer_uri="/uri/user/testuser99")
        self.assertEquals(len(courses), 1)
Beispiel #3
0
def import_project(project, hashtag):
    course = {}
    course['title'] = project.name
    course['hashtag'] = hashtag
    course['description'] = project.short_description
    course['language'] = project.language
    user_uri = "/uri/user/{0}".format(
        project.participations.filter(
            organizing=True).order_by('joined_on')[0].user.username)
    course['organizer_uri'] = user_uri

    course = course_model.create_course(**course)

    # update about page
    about = {
        "uri": course['about_uri'],
        "title": "About",
        "content": project.long_description,
        "author_uri": user_uri,
    }
    content_model.update_content(**about)

    # add other pages to course
    for page in project.pages.filter(deleted=False,
                                     listed=True).order_by('index'):
        content = {
            "title": page.title,
            "content": content_utils.clean_user_content(page.content),
            "author_uri": "/uri/user/{0}".format(page.author.username),
        }
        content = content_model.create_content(**content)
        course_model.add_course_content(course['uri'], content['uri'])

    return course
Beispiel #4
0
def create_course( request ):
    if request.method == "POST":
        form = CourseCreationForm(request.POST)
        if form.is_valid():
            user = request.user.get_profile()
            user_uri = u"/uri/user/{0}".format(user.username)
            course = {
                'title': form.cleaned_data.get('title'),
                'hashtag': form.cleaned_data.get('hashtag'),
                'description': form.cleaned_data.get('description'),
                'language': form.cleaned_data.get('language'),
                'organizer_uri': user_uri
            }
            course = course_model.create_course(**course)
            redirect_url = reverse('courses_show', 
                kwargs={'course_id': course['id'], 'slug': course['slug']}
            )
            return http.HttpResponseRedirect(redirect_url)
    else:
        form = CourseCreationForm(initial={'language': get_language()})

    context = { 'form': form }
    return render_to_response('courses/create_course.html', 
        context, context_instance=RequestContext(request)
    )
Beispiel #5
0
    def setUp(self):
        self.client = Client()
        self.locale = 'en'

        django_user = User(
            username=self.test_username,
            email=self.test_email,
        )
        self.user = create_profile(django_user)
        self.user.set_password(self.test_password)
        self.user.save()

        django_user2 = User(
            username=self.test_username2,
            email=self.test_email2,
        )
        self.user2 = create_profile(django_user2)
        self.user2.set_password(self.test_password2)
        self.user2.save()

        self.course = course_model.create_course(
            **{
                "title": self.test_title,
                "hashtag": self.test_hashtag,
                "description": self.test_description,
                "language": "en",
                "organizer_uri": '/uri/users/testuser',
            })
        content_model.update_content(self.course['about_uri'], 'About',
                                     'This is the about content',
                                     '/uri/users/testuser')
Beispiel #6
0
    def test_course_creation(self):
        course = course_model.create_course(
            **{
                "title": "A test course",
                "hashtag": "ATC-1",
                "description": "This course is all about ABC",
                "language": "en",
                "organizer_uri": '/uri/user/testuser'
            }
        )

        self.assertTrue(not course == None)

        # test that about content was created
        about = content_model.get_content(course['about_uri'])
        self.assertTrue(not about == None)
        self.assertEqual(about['title'], "About")

        # test that a cohort was created
        cohort = course_model.get_course_cohort(course['uri'])
        self.assertTrue(not cohort == None)

        self.assertTrue(
            course_model.user_in_cohort('/uri/user/testuser', cohort['uri'])
        )
        self.assertTrue(
            course_model.is_cohort_organizer('/uri/user/testuser', cohort['uri'])
        )
Beispiel #7
0
    def setUp(self):
        self.client = Client()
        self.locale = "en"

        django_user = User(username=self.test_username, email=self.test_email)
        self.user = create_profile(django_user)
        self.user.set_password(self.test_password)
        self.user.save()

        django_user2 = User(username=self.test_username2, email=self.test_email2)
        self.user2 = create_profile(django_user2)
        self.user2.set_password(self.test_password2)
        self.user2.save()

        self.course = course_model.create_course(
            **{
                "title": self.test_title,
                "hashtag": self.test_hashtag,
                "description": self.test_description,
                "language": "en",
                "organizer_uri": "/uri/users/testuser",
            }
        )
        content_model.update_content(
            self.course["about_uri"], "About", "This is the about content", "/uri/users/testuser"
        )
Beispiel #8
0
def create_course( request ):
    if request.method == "POST":
        form = CourseCreationForm(request.POST)
        if form.is_valid():
            user = request.user.get_profile()
            user_uri = u"/uri/user/{0}".format(user.username)
            course = {
                'title': form.cleaned_data.get('title'),
                'hashtag': form.cleaned_data.get('hashtag'),
                'description': form.cleaned_data.get('description'),
                'language': form.cleaned_data.get('language'),
                'organizer_uri': user_uri
            }
            course = course_model.create_course(**course)
            redirect_url = reverse('courses_show', 
                kwargs={'course_id': course['id'], 'slug': course['slug']}
            )
            return http.HttpResponseRedirect(redirect_url)
    else:
        form = CourseCreationForm(initial={'language': get_language()})

    context = { 'form': form }
    return render_to_response('courses/create_course.html', 
        context, context_instance=RequestContext(request)
    )
Beispiel #9
0
    def setUp(self):
        self.client = Client()
        self.locale = 'en'

        django_user = User(
            username=self.test_username,
            email=self.test_email,
        )
        self.user = create_profile(django_user)
        self.user.set_password(self.test_password)
        self.user.save()
        
        django_user2 = User(
            username=self.test_username2,
            email=self.test_email2,
        )
        self.user2 = create_profile(django_user2)
        self.user2.set_password(self.test_password2)
        self.user2.save()


        self.course = course_model.create_course(
            **{
                "title": self.test_title,
                "hashtag": self.test_hashtag,
                "description": self.test_description,
                "language": "en",
                "organizer_uri": '/uri/users/testuser',
            }
        )
Beispiel #10
0
    def test_course_creation(self):
        course = course_model.create_course(
            **{
                "title": "A test course",
                "hashtag": "ATC-1",
                "description": "This course is all about ABC",
                "language": "en",
                "organizer_uri": '/uri/user/testuser'
            })

        self.assertTrue(not course == None)

        # test that about content was created
        about = content_model.get_content(course['about_uri'])
        self.assertTrue(not about == None)
        self.assertEqual(about['title'], "About")

        # test that a cohort was created
        cohort = course_model.get_course_cohort(course['uri'])
        self.assertTrue(not cohort == None)

        self.assertTrue(
            course_model.user_in_cohort('/uri/user/testuser', cohort['uri']))
        self.assertTrue(
            course_model.is_cohort_organizer('/uri/user/testuser',
                                             cohort['uri']))
Beispiel #11
0
def import_project(project, hashtag):
    course = {}
    course['title'] = project.name
    course['hashtag'] = hashtag
    course['description'] = project.short_description
    course['language'] = project.language
    user_uri = "/uri/user/{0}".format(project.participations.filter(organizing=True).order_by('joined_on')[0].user.username)
    course['organizer_uri'] = user_uri

    course = course_model.create_course(**course)

    # update about page
    about = {
        "uri": course['about_uri'],
        "title": "About",
        "content": project.long_description,
        "author_uri": user_uri,
    }
    content_model.update_content(**about)

    # add other pages to course
    for page in project.pages.filter(deleted=False, listed=True).order_by('index'):
        content = {
            "title": page.title,
            "content": content_utils.clean_user_content(page.content),
            "author_uri": "/uri/user/{0}".format(page.author.username),
        }
        content = content_model.create_content(**content)
        course_model.add_course_content(course['uri'], content['uri'])

    return course
Beispiel #12
0
 def test_delete_spam_course(self):
     course = course_model.create_course(
         **{
             "title": "A test course",
             "hashtag": "ATC-1",
             "description": "This course is all about ABC",
             "language": "en",
             "organizer_uri": '/uri/user/testuser'
         })
     course_model.delete_spam_course(course['uri'])
     with self.assertRaises(course_model.ResourceDeletedException):
         course_model.get_course(course['uri'])
Beispiel #13
0
 def test_delete_spam_course(self):
     course = course_model.create_course(
         **{
             "title": "A test course",
             "hashtag": "ATC-1",
             "description": "This course is all about ABC",
             "language": "en",
             "organizer_uri": '/uri/user/testuser'
         }
     )
     course_model.delete_spam_course(course['uri'])
     with self.assertRaises(course_model.ResourceDeletedException):
         course_model.get_course(course['uri'])
Beispiel #14
0
 def test_send_course_announcement(self):
     course = course_model.create_course(
         **{
             "title": "A test course",
             "hashtag": "ATC-1",
             "description": "This course is all about ABC",
             "language": "en",
             "organizer_uri": '/uri/user/testuser/'
         }
     )
     with patch('notifications.models.send_notifications_i18n') as send_notification:
         course_model.send_course_announcement(course['uri'], 'Notification text')
         self.assertTrue(send_notification.called)
Beispiel #15
0
 def test_send_course_announcement(self):
     course = course_model.create_course(
         **{
             "title": "A test course",
             "hashtag": "ATC-1",
             "description": "This course is all about ABC",
             "language": "en",
             "organizer_uri": '/uri/user/testuser/'
         })
     with patch('notifications.models.send_notifications_i18n'
                ) as send_notification:
         course_model.send_course_announcement(course['uri'],
                                               'Notification text')
         self.assertTrue(send_notification.called)
Beispiel #16
0
    def test_spam_course_deletion(self):
        course = course_model.create_course(
            **{
                "title": "A spam course",
                "hashtag": "ASC",
                "description": "This course is all about ABC",
                "language": "en",
                "organizer_uri": '/uri/user/spammer'
            })

        self.assertEqual(course_model.get_course(course['uri']), course)

        spam_model.handle_spam_user('spammer')
        with self.assertRaises(course_model.ResourceDeletedException):
            course_model.get_course(course['uri'])
Beispiel #17
0
    def test_spam_course_deletion(self):
        course = course_model.create_course(
            **{
                "title": "A spam course",
                "hashtag": "ASC",
                "description": "This course is all about ABC",
                "language": "en",
                "organizer_uri": "/uri/user/spammer",
            }
        )

        self.assertEqual(course_model.get_course(course["uri"]), course)

        spam_model.handle_spam_user("spammer")
        with self.assertRaises(course_model.ResourceDeletedException):
            course_model.get_course(course["uri"])