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)
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)
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
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) )
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')
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']) )
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" )
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', } )
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']))
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
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'])
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'])
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)
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)
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'])
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"])