From ca27929249afc3a9e901c4058dd292c3ad22e82d Mon Sep 17 00:00:00 2001 From: evazion Date: Sat, 21 Mar 2020 22:35:26 -0500 Subject: [PATCH] tests: add more posts/show tests. --- test/functional/posts_controller_test.rb | 46 ++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/test/functional/posts_controller_test.rb b/test/functional/posts_controller_test.rb index 4a3b387a7..2a3a6b499 100644 --- a/test/functional/posts_controller_test.rb +++ b/test/functional/posts_controller_test.rb @@ -157,6 +157,52 @@ class PostsControllerTest < ActionDispatch::IntegrationTest assert_response :success end + context "with everything" do + setup do + @admin = create(:admin_user, can_approve_posts: true) + @builder = create(:builder_user, can_approve_posts: true) + + as(@user) do + @pool = create(:pool) + @pool.add!(@post) + + @favgroup = create(:favorite_group) + @favgroup.add!(@post) + + @comment = create(:comment, post: @post, creator: @admin) + create(:comment_vote, comment: @comment, user: @user) + + create(:note, post: @post) + create(:artist_commentary, post: @post) + create(:post_flag, post: @post, creator: @user) + create(:post_appeal, post: @post, creator: @user) + create(:post_vote, post: @post, user: @user) + create(:favorite, post: @post, user: @user) + create(:moderation_report, model: @comment, creator: @builder) + end + end + + should "render for an anonymous user" do + get post_path(@post) + assert_response :success + end + + should "render for a member" do + get_auth post_path(@post), @user + assert_response :success + end + + should "render for a builder" do + get_auth post_path(@post), @builder + assert_response :success + end + + should "render for an admin" do + get_auth post_path(@post), @admin + assert_response :success + end + end + context "with pools" do should "render the pool list" do as(@user) { @post.update(tag_string: "newpool:comic") }