FIX: Return 400 when username params is invalid.

This commit is contained in:
Guo Xiang Tan 2019-01-30 16:04:47 +08:00
parent 421d47da1e
commit 60c1cd9f81
2 changed files with 10 additions and 0 deletions

View File

@ -89,6 +89,8 @@ class Admin::EmailController < Admin::AdminController
params.require(:last_seen_at)
params.require(:username)
user = User.find_by_username(params[:username])
raise Discourse::InvalidParameters unless user
renderer = Email::Renderer.new(UserNotifications.digest(user, since: params[:last_seen_at]))
render json: MultiJson.dump(html_content: renderer.html, text_content: renderer.text)
end

View File

@ -175,6 +175,14 @@ describe Admin::EmailController do
expect(response.status).to eq(400)
end
it "returns the right response when username is invalid" do
get "/admin/email/preview-digest.json", params: {
last_seen_at: 1.week.ago, username: "somerandomeusername"
}
expect(response.status).to eq(400)
end
it "previews the digest" do
get "/admin/email/preview-digest.json", params: {
last_seen_at: 1.week.ago, username: admin.username