def test_slug(self): """Test slugyfing""" post = Post(title="Test - .+?=~! the post 123") post.generate_slug() self.assertEqual("test-the-post-123", post.slug)
def test_slug_unique(self): """""" post1 = Post(title="Test unique slug") post1.generate_slug() db.session.add(post1) db.session.commit() post2 = Post(title="Test unique slug") post2.generate_slug() self.assertEqual("test-unique-slug-1", post2.slug)
def create_post(data: dict) -> Post: """ Create a new post :param data: Fields of new record :type data: dict :return: Created post model :rtype: Post """ post = Post(**data) post.user_id = current_user.id post.generate_slug() save_changes(obj=post) return post
def create_post(): """Create post""" form = PostForm() if request.method == "POST" and form.validate_on_submit(): post = Post() form.populate_obj(post) post.user_id = current_user.id post.generate_slug() db.session.add(post) db.session.commit() flash("You're successfully create the post") return redirect(url_for("post.view_post", slug=post.slug)) return render_template("post/form.html", form=form, title="Create a new post")