Simplify administrators comments tests

This commit is contained in:
taitus
2024-03-22 12:43:16 +01:00
parent 79d00e7b92
commit 57805747a2

View File

@@ -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