def test_category_page(self): category = Category() category.name = 'Экономика' category.description = 'Новости экономики' category.slug = 'economy' category.save() news = News() news.title = 'Моя первая новость' news.announcement = 'Анонс первой новости' news.pub_date = timezone.now() news.category = category news.save() all_news = News.objects.all() self.assertEquals(len(all_news), 1) only_news = all_news[0] self.assertEquals(only_news, news) category_url = news.category.get_absolute_url() response = self.client.get(category_url) self.assertContains(response, news.category.name, status_code=200) #проверяем атрибуты self.assertEquals(only_news.title, 'Моя первая новость') self.assertEquals(only_news.announcement, 'Анонс первой новости') self.assertEquals(only_news.pub_date.day, news.pub_date.day) self.assertEquals(only_news.pub_date.year, news.pub_date.year)
def create_news(request): """ view untuk pembuatan berita """ if not request.user.has_perm('news.add_news'): messages.error(request, _("Unvalidated user can not create news")) return HttpResponseRedirect(reverse('validate')) if request.POST: form = CreateNewsForm(request.POST) if form.is_valid(): news = News() news.user = request.user news.title = form.cleaned_data['title'] news.content = form.cleaned_data['content'] news.category = form.cleaned_data['category'] news.enable_comment = form.cleaned_data['enable_comment'] news.location = form.cleaned_data['location'] news.save() news.images.add(*request.POST.getlist('images')) p = Point(news=news, user=request.user) p.save() messages.info(request, _('A news %s created') % news.title) return HttpResponseRedirect(reverse('user_news')) else: form = CreateNewsForm() return render_to_response('news/create_news.html', {'form': form}, context_instance=RequestContext(request))
def test_edit_news(self): category = Category() category.name = 'Экономика' category.description = 'Новости экономики' category.slug = 'economy' category.save() news = News() news.title = 'Моя первая новость' news.announcement = 'Анонс первой новости ++' news.text = 'Текст первой новости!!!' news.pub_date = timezone.now() news.category = category news.save() self.client.login(username='******', password='******') response = self.client.post('/admin/news/news/' + str(news.id) + '/', { 'title': 'Моя вторая новость', 'announcement': 'Анонс второй новости', 'text': 'Текст второй новости', 'pub_date_0': '2014-10-15', 'pub_date_1': '16:07:00', 'category': str(category.id) }, follow=True) self.assertContains(response, 'успешно изменен', status_code=200) all_news = News.objects.all() self.assertEquals(len(all_news), 1) only_news = all_news[0] self.assertEquals(only_news.title, 'Моя вторая новость') self.assertEquals(only_news.announcement, 'Анонс второй новости') self.assertEquals(only_news.text, 'Текст второй новости')
def test_delete_new(self): category = Category() category.name = 'Экономика' category.description = 'Новости экономики' category.slug = 'economy' category.save() news = News() news.title = 'Моя первая новость' news.announcement = 'Анонс первой новости ++' news.text = 'Текст первой новости!!!' news.pub_date = timezone.now() news.category = category news.save() all_news = News.objects.all() self.assertEquals(len(all_news), 1) self.client.login(username='******', password='******') response = self.client.post('/admin/news/news/' + str(news.id) + '/delete/', {'post': 'yes'}, follow=True) self.assertContains(response, 'успешно удален', status_code=200) all_news = News.objects.all() self.assertEquals(len(all_news), 0)
def addnews(request): if request.method == 'POST': form = NewsForm(request.POST, request.FILES) if form.is_valid(): current_user = request.user data = News() data.user_id = current_user.id data.title = form.cleaned_data['title'] data.keywords = form.cleaned_data['keywords'] data.description = form.cleaned_data['description'] data.image = form.cleaned_data['image'] data.category = form.cleaned_data['category'] data.slug = form.cleaned_data['slug'] data.detail = form.cleaned_data['detail'] data.status = 'New' data.save() messages.success(request, 'Your news has been added!') return HttpResponseRedirect('/user/mynews') else: messages.warning(request, "Error") return HttpResponseRedirect('/user/addnews') else: news = News.objects.all() category = Category.objects.all() menu = Menu.objects.all() form = NewsForm() context = { 'category': category, 'form': form, 'menu': menu, 'news': news, } return render(request, 'user_addnews.html', context)
def test_delete_new(self): category = Category() category.name = 'Экономика' category.description = 'Новости экономики' category.slug = 'economy' category.save() news = News() news.title = 'Моя первая новость' news.announcement = 'Анонс первой новости ++' news.text = 'Текст первой новости!!!' news.pub_date = timezone.now() news.category = category news.save() all_news = News.objects.all() self.assertEquals(len(all_news), 1) self.client.login(username='******', password='******') response = self.client.post('/admin/news/news/' + str(news.id) + '/delete/', { 'post':'yes' }, follow=True ) self.assertContains(response, 'успешно удален', status_code=200) all_news = News.objects.all() self.assertEquals(len(all_news), 0)
def import_news(): author = UserData.objects.get(id=1) print author.username for new_old in Stats.objects.all(): if new_old.catid != 0 and (new_old.catid == 2 or new_old.catid == 3): print new_old.id, new_old.name, new_old.catid stci = News() print author # stci.id = new_old.id stci.article = new_old.full.replace('http://centrinform.info/', 'http://ci.ua/') stci.author = author stci.foreword = new_old.min.replace('http://centrinform.info/', 'http://ci.ua/') stci.slug = new_old.url stci.title = new_old.name stci.creation_date = new_old.dat_created stci.description = new_old.opisanie stci.key_words = new_old.klucheviki stci.category = NewsCategory.objects.get(id=new_old.catid) stci.save() # News.objects.get_or_create( # # id=new_old.id, # article=new_old.full.replace('http://centrinform.info/', 'http://ci.ua/'), # author=author, # foreword=new_old.min.replace('http://centrinform.info/', 'http://ci.ua/'), # slug=new_old.url, # title=new_old.name, # creation_date=new_old.dat_created, # description=new_old.opisanie, # key_words=new_old.klucheviki, # category=NewsCategory.objects.get(id=new_old.catid) # # defaults={'category': NewsCategory.objects.get(id=new_old.catid)} # default применится в случае create # ) # new.article = new_old # # new.article = new_old.full.replace('http://centrinform.info/', 'http://ci.ua/') # new.author = author # new.category = NewsCategory.objects.get(id=new_old.catid) # new.foreword = new_old.min.replace('http://centrinform.info/', 'http://ci.ua/') # new.part_url = new_old.url # new.title = new_old.name # new.save() # try: # # except Stats.DoesNotExist: # print u'Нету'
def test_create_news(self): category = Category() category.name = 'Экономика' category.description = 'Новости экономики' category.slug = 'economy' category.save() #создаем новость и заполняем поля news = News() #устанавливаем атрибуты news.title = 'Моя первая новость' news.announcement = 'Анонс первой новости ++' news.text = 'Текст первой новости!!!' news.pub_date = timezone.now() news.category = category #сохраняем в бд news.save() #проверяем что новость доавбилась в базу all_news = News.objects.all() self.assertEquals(len(all_news), 1) only_news = all_news[0] self.assertEquals(only_news, news) #проверяем атрибуты self.assertEquals(only_news.title, 'Моя первая новость') self.assertEquals(only_news.announcement, 'Анонс первой новости ++') self.assertEquals(only_news.text, 'Текст первой новости!!!') self.assertEquals(only_news.pub_date.day, news.pub_date.day) self.assertEquals(only_news.pub_date.month, news.pub_date.month) self.assertEquals(only_news.pub_date.year, news.pub_date.year) self.assertEquals(only_news.pub_date.hour, news.pub_date.hour) self.assertEquals(only_news.pub_date.minute, news.pub_date.minute) self.assertEquals(only_news.pub_date.second, news.pub_date.second) self.assertEquals(only_news.category.name, 'Экономика') self.assertEquals(only_news.category.description, 'Новости экономики')
def test_news_page(self): category = Category() category.name = 'Экономика' category.description = 'Новости экономики' category.slug = 'economy' category.save() news = News() news.title = 'Моя первая новость' news.text = 'Текст первой новости' news.pub_date = timezone.now() news.category = category news.save() all_news = News.objects.all() self.assertEquals(len(all_news), 1) response = self.client.get('/news/' + str(news.id) + '/') self.assertContains(response, news.title, status_code=200) self.assertContains(response, news.text) self.assertContains(response, news.pub_date.year) # выдает на англ и сравнивает с русским - не отрабатывает self.assertContains(response, news.pub_date.strftime('%b')) self.assertContains(response, news.pub_date.day) self.assertContains(response, news.category.name)
def test_edit_news(self): category = Category() category.name = 'Экономика' category.description = 'Новости экономики' category.slug = 'economy' category.save() news = News() news.title = 'Моя первая новость' news.announcement = 'Анонс первой новости ++' news.text = 'Текст первой новости!!!' news.pub_date = timezone.now() news.category = category news.save() self.client.login(username='******', password='******') response = self.client.post('/admin/news/news/' + str(news.id) + '/', { 'title': 'Моя вторая новость', 'announcement': 'Анонс второй новости', 'text': 'Текст второй новости', 'pub_date_0': '2014-10-15', 'pub_date_1': '16:07:00', 'category': str(category.id) }, follow=True ) self.assertContains(response, 'успешно изменен', status_code=200) all_news = News.objects.all() self.assertEquals(len(all_news), 1) only_news = all_news[0] self.assertEquals(only_news.title, 'Моя вторая новость') self.assertEquals(only_news.announcement, 'Анонс второй новости') self.assertEquals(only_news.text, 'Текст второй новости')