def test_clone_course(self): clone = course_model.clone_course(self.course["uri"], "/uri/user/bob/") for key in ["title", "hashtag", "description", "language"]: self.assertEqual(clone[key], self.course[key]) self.assertIn("based_on_uri", clone) about = content_model.get_content(self.course["about_uri"]) clone_about = content_model.get_content(clone["about_uri"]) self.assertEquals(about["content"], clone_about["content"]) self.assertEqual(len(clone["content"]), len(self.course["content"])) for i in range(len(clone["content"])): self.assertEqual(clone["content"][i]["title"], self.course["content"][i]["title"]) self.assertEqual(clone["content"][i]["content"], self.course["content"][i]["content"])
def test_clone_course(self): clone = course_model.clone_course(self.course['uri'], '/uri/user/bob/') for key in ['title', 'hashtag', 'description', 'language']: self.assertEqual(clone[key], self.course[key]) self.assertIn('based_on_uri', clone) about = content_model.get_content(self.course['about_uri']) clone_about = content_model.get_content(clone['about_uri']) self.assertEquals(about['content'], clone_about['content']) self.assertEqual(len(clone['content']), len(self.course['content'])) for i in range(len(clone['content'])): self.assertEqual(clone['content'][i]['title'], self.course['content'][i]['title']) self.assertEqual(clone['content'][i]['content'], self.course['content'][i]['content'])
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 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 get_course_content(course_uri): content = [] course_id = course_uri2id(course_uri) course_db = _get_course_db(course_uri) for course_content_db in course_db.content.order_by('index'): content_data = content_model.get_content(course_content_db.content_uri) content += [{ "id": content_data["id"], "uri": content_data["uri"], "title": content_data["title"], "index": course_content_db.index, }] return content
def show_content( request, course_id, content_id): content_uri = u'/uri/content/{0}'.format(content_id) user_uri = u"/uri/user/{0}".format(request.user.username) context = _populate_course_context(request, course_id, {}) if not any( c['uri'] == content_uri for c in context['course']['content']): raise http.Http404 content = content_model.get_content(content_uri) context['content'] = content context['content_active'] = True #context['comments'] = course_model.get_cohort_comments(cohort['uri'], content['uri']) context['form'] = ContentForm(content) return render_to_response( 'courses/content.html', context, context_instance=RequestContext(request) )
def show_course( request, course_id, slug=None ): course_uri = course_model.course_id2uri(course_id) course = _get_course_or_404(course_uri) if slug != course['slug']: return course_slug_redirect( request, course_id) context = { } context = _populate_course_context(request, course_id, context) context['about_active'] = True if context['organizer']: context['update_form'] = CourseUpdateForm(course) context['about'] = content_model.get_content(course['about_uri']) return render_to_response( 'courses/course.html', context, context_instance=RequestContext(request) )
def show_content( request, course_id, content_id): content_uri = u'/uri/content/{0}'.format(content_id) user_uri = u"/uri/user/{0}".format(request.user.username) context = _populate_course_context(request, course_id, {}) if not any( c['uri'] == content_uri for c in context['course']['content']): raise http.Http404 content = content_model.get_content(content_uri) context['content'] = content context['content_active'] = True context['disqus_public_key'] = settings.DISQUS_PUBLIC_KEY if request.user.is_authenticated(): context['disqus_sso'] = get_disqus_sso(request.user) context['form'] = ContentForm(content) return render_to_response( 'courses/content.html', context, context_instance=RequestContext(request) )
def edit_content( request, course_id, content_id ): course_uri = course_model.course_id2uri(course_id) course = _get_course_or_404(course_uri) content = content_model.get_content("/uri/content/{0}".format(content_id)) if request.method == "POST": form = ContentForm(request.POST) if form.is_valid(): content_data = { 'title': form.cleaned_data.get('title'), 'content': form.cleaned_data.get('content'), } user = request.user.get_profile() user_uri = u"/uri/user/{0}".format(user.username) content = content_model.update_content( content['uri'], content_data['title'], content_data['content'], user_uri ) redirect_url = request.POST.get('next_url', None) if not redirect_url: redirect_url = reverse('courses_content_show', kwargs={'course_id': course_id, 'content_id': content_id} ) return http.HttpResponseRedirect(redirect_url) else: form = ContentForm(initial=content) context = { 'form': form, 'content': content, } context = _populate_course_context(request, course_id, context) if request.GET.get('next_url', None): context['next_url'] = request.GET.get('next_url', None) return render_to_response('courses/edit_content.html', context, context_instance=RequestContext(request) )
def test_content_creation(self): content = content_model.create_content('title', 'content', '/uri/users/bob') content2 = content_model.get_content(content['uri']) self.assertEquals(content, content2)