def update_article(request, id): """Enables Article update""" article = Article.get_by_id(int(id)) if article: if request.method == 'POST': form = ArticleForm(request.POST) if form.is_valid(): article.title = form.cleaned_data['title'] article.content = form.cleaned_data['content'] article.put() messages.add_message(request, messages.INFO, u'Article %s created' % form.cleaned_data['title']) time.sleep(1) return redirect('home') else: form = ArticleForm({'title': article.title, 'content': article.content}) return render(request, 'article/create.html', locals()) else: messages.add_message(request, messages.ERROR, u'Article not found') return redirect('home')
def test_create_article(): cmd = CreateArticleCommand(author='*****@*****.**', title='New Article', content='Awsome article') article = cmd.execute() db_article = Article.get_by_id(article.id) assert db_article.id == article.id assert db_article.author == article.author assert db_article.title == article.title assert db_article.content == article.content
def delete_article(request, id): """Enables Article deletion""" article = Article.get_by_id(int(id)) if article: messages.add_message(request, messages.INFO, u'Article %s deleted' % article.title) article.delete() time.sleep(1) else: messages.add_message(request, messages.ERROR, u'Article not found') return redirect('home')
def test_create_article(): """ GIVEN CreateArticleCommand with a valid properties author, title and content WHEN the execute method is called THEN a new Article must exist in the database with the same attributes """ cmd = CreateArticleCommand(author='*****@*****.**', title='New Article', content='Super awesome article') article = cmd.execute() db_article = Article.get_by_id(article.id) assert db_article.id == article.id assert db_article.author == article.author assert db_article.title == article.title assert db_article.content == article.content
def execute(self) -> Article: article = Article.get_by_id(self.id) return article