discourse-akismet/spec/requests/reviewables_controller_spec.rb
Isaac Janzen a88227e75b
Some checks failed
Discourse Plugin / ci (push) Has been cancelled
FIX: Ensure valid permissions to view email in Akismet reviewable (#219)
## Summary

Moderators did not respect the `moderators_view_emails` site setting allowing them to view user email addresses by viewing Akismet user reviews in the review queue.

## Source

- Patch Triage: https://patch.discourse.org/patch-triage/1223

Co-authored-by: discourse-patch-triage <272280883+discourse-patch-triage[bot]@users.noreply.github.com>
2026-06-16 13:23:10 -05:00

29 lines
770 B
Ruby

# frozen_string_literal: true
RSpec.describe ReviewablesController do
fab!(:moderator)
fab!(:reviewable, :reviewable_akismet_user)
before do
SiteSetting.akismet_enabled = true
SiteSetting.moderators_view_emails = false
sign_in(moderator)
end
describe "#show" do
it "filters the email payload by reviewer permission" do
get "/review/#{reviewable.id}.json"
expect(response.status).to eq(200)
expect(response.parsed_body["reviewable"]["payload"]).not_to have_key("email")
SiteSetting.moderators_view_emails = true
get "/review/#{reviewable.id}.json"
expect(response.status).to eq(200)
expect(response.parsed_body["reviewable"]["payload"]["email"]).to eq(reviewable.target.email)
end
end
end