From 57805747a2322aba24dafcf06b462e3b9ad91c1d Mon Sep 17 00:00:00 2001 From: taitus Date: Fri, 22 Mar 2024 12:43:16 +0100 Subject: [PATCH] Simplify administrators comments tests --- spec/system/comments_spec.rb | 88 +++++++++++++++++------------------- 1 file changed, 41 insertions(+), 47 deletions(-) diff --git a/spec/system/comments_spec.rb b/spec/system/comments_spec.rb index e62f4d85c..cdb40deb7 100644 --- a/spec/system/comments_spec.rb +++ b/spec/system/comments_spec.rb @@ -448,57 +448,51 @@ describe "Comments" do end describe "Administrators" do - context "comment as administrator" do - scenario "can create comment" do - admin = create(:administrator) + scenario "can create comment" do + admin = create(:administrator) - login_as(admin.user) - visit polymorphic_path(resource) - - fill_in fill_text, with: "I am your Admin!" - check "Comment as admin" - click_button button_text - - within "#comments" do - expect(page).to have_content "I am your Admin!" - expect(page).to have_content "Administrator ##{admin.id}" - expect(page).to have_css "div.is-admin" - expect(page).to have_css "img.admin-avatar" - end - end - - scenario "can create reply as an administrator" do - admin = create(:administrator) - comment = create(:comment, commentable: resource) - - login_as(admin.user) - visit polymorphic_path(resource) - - within "#comment_#{comment.id}" do - click_link "Reply" - end - - within "#js-comment-form-comment_#{comment.id}" do - fill_in fill_text, with: "Top of the world!" - check "Comment as admin" - click_button "Publish reply" - end - - within "#comment_#{comment.id}" do - expect(page).to have_content "Top of the world!" - expect(page).to have_content "Administrator ##{admin.id}" - expect(page).to have_css "div.is-admin" - expect(page).to have_css "img.admin-avatar" - end - - expect(page).not_to have_css "#js-comment-form-comment_#{comment.id}" - end - end - - scenario "can not comment as a moderator", :admin do + login_as(admin.user) visit polymorphic_path(resource) expect(page).not_to have_content "Comment as moderator" + + fill_in fill_text, with: "I am your Admin!" + check "Comment as admin" + click_button button_text + + within "#comments" do + expect(page).to have_content "I am your Admin!" + expect(page).to have_content "Administrator ##{admin.id}" + expect(page).to have_css "div.is-admin" + expect(page).to have_css "img.admin-avatar" + end + end + + scenario "can create reply as an administrator" do + admin = create(:administrator) + comment = create(:comment, commentable: resource) + + login_as(admin.user) + visit polymorphic_path(resource) + + within "#comment_#{comment.id}" do + click_link "Reply" + end + + within "#js-comment-form-comment_#{comment.id}" do + fill_in fill_text, with: "Top of the world!" + check "Comment as admin" + click_button "Publish reply" + end + + within "#comment_#{comment.id}" do + expect(page).to have_content "Top of the world!" + expect(page).to have_content "Administrator ##{admin.id}" + expect(page).to have_css "div.is-admin" + expect(page).to have_css "img.admin-avatar" + end + + expect(page).not_to have_css "#js-comment-form-comment_#{comment.id}" end end