FEATURE: Allow add group member endpoint to skip invite emails (#29962)
This commit is contained in:
parent
b4ef3456d9
commit
8c311dcbd5
|
@ -413,7 +413,12 @@ class GroupsController < ApplicationController
|
|||
|
||||
emails.each do |email|
|
||||
begin
|
||||
Invite.generate(current_user, email: email, group_ids: [group.id])
|
||||
Invite.generate(
|
||||
current_user,
|
||||
email: email,
|
||||
group_ids: [group.id],
|
||||
skip_email: params[:skip_email].to_s == "true",
|
||||
)
|
||||
rescue RateLimiter::LimitExceeded => e
|
||||
return(
|
||||
render_json_error(
|
||||
|
|
|
@ -1707,6 +1707,23 @@ RSpec.describe GroupsController do
|
|||
end
|
||||
end
|
||||
|
||||
it "sends emails with invitations when `skip_emails` param isn't present" do
|
||||
expect_enqueued_with(job: :invite_email) do
|
||||
put "/groups/#{group.id}/members.json", params: { emails: "something@gmail.com" }
|
||||
expect(response.status).to eq(200)
|
||||
end
|
||||
end
|
||||
|
||||
it "sends emails with invitations when `skip_emails` is present" do
|
||||
expect_not_enqueued_with(job: :invite_email) do
|
||||
put "/groups/#{group.id}/members.json?skip_email=true",
|
||||
params: {
|
||||
emails: "something@gmail.com",
|
||||
}
|
||||
expect(response.status).to eq(200)
|
||||
end
|
||||
end
|
||||
|
||||
it "displays warning when all members already exists" do
|
||||
user1.update!(username: "john")
|
||||
user2.update!(username: "alice")
|
||||
|
|
Loading…
Reference in New Issue