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|
|
emails.each do |email|
|
||||||
begin
|
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
|
rescue RateLimiter::LimitExceeded => e
|
||||||
return(
|
return(
|
||||||
render_json_error(
|
render_json_error(
|
||||||
|
|
|
@ -1707,6 +1707,23 @@ RSpec.describe GroupsController do
|
||||||
end
|
end
|
||||||
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
|
it "displays warning when all members already exists" do
|
||||||
user1.update!(username: "john")
|
user1.update!(username: "john")
|
||||||
user2.update!(username: "alice")
|
user2.update!(username: "alice")
|
||||||
|
|
Loading…
Reference in New Issue