mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-03-12 03:50:22 +00:00
Merge pull request #11487 from pedrocarmona/feature/invitation-email-locale
Send translated email when creating users via super admin interface
This commit is contained in:
@@ -83,7 +83,7 @@ describe Spree::UsersController, type: :controller do
|
||||
it 'should create a new user' do
|
||||
post :create,
|
||||
params: { user: { email: 'foobar@example.com', password: 'foobar123',
|
||||
password_confirmation: 'foobar123' } }
|
||||
password_confirmation: 'foobar123', locale: 'es' } }
|
||||
expect(assigns[:user].new_record?).to be_falsey
|
||||
end
|
||||
end
|
||||
|
||||
@@ -34,15 +34,33 @@ describe Spree::UserMailer do
|
||||
end
|
||||
|
||||
describe "#confirmation_instructions" do
|
||||
it "sends an email" do
|
||||
token = "random"
|
||||
email = Spree::UserMailer.confirmation_instructions(user, token)
|
||||
let(:token) { "random" }
|
||||
subject(:email) { Spree::UserMailer.confirmation_instructions(user, token) }
|
||||
|
||||
expect {
|
||||
it "sends an email" do
|
||||
expect { email.deliver_now }.to change { ActionMailer::Base.deliveries.count }.by(1)
|
||||
end
|
||||
|
||||
context 'when the language is English' do
|
||||
it 'sends an email with the translated subject' do
|
||||
email.deliver_now
|
||||
}.to change {
|
||||
ActionMailer::Base.deliveries.count
|
||||
}.by(1)
|
||||
|
||||
expect(ActionMailer::Base.deliveries.first.subject).to include(
|
||||
"Please confirm your OFN account"
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
context 'when the language is Spanish' do
|
||||
let(:user) { build(:user, locale: 'es') }
|
||||
|
||||
it 'sends an email with the translated subject' do
|
||||
email.deliver_now
|
||||
|
||||
expect(ActionMailer::Base.deliveries.first.subject).to include(
|
||||
"Por favor, confirma tu cuenta de OFN"
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -131,21 +131,32 @@ describe "Managing users" do
|
||||
end
|
||||
|
||||
describe "creating a user" do
|
||||
it "shows no confirmation message to start with" do
|
||||
visit spree.new_admin_user_path
|
||||
expect(page).to have_no_text "Email confirmation is pending"
|
||||
end
|
||||
|
||||
it "confirms successful creation" do
|
||||
visit spree.new_admin_user_path
|
||||
|
||||
# shows no confirmation message to start with
|
||||
expect(page).to have_no_text "Email confirmation is pending"
|
||||
|
||||
fill_in "Email", with: "user1@example.org"
|
||||
fill_in "Password", with: "user1Secret"
|
||||
fill_in "Confirm Password", with: "user1Secret"
|
||||
expect do
|
||||
click_button "Create"
|
||||
end.to change { Spree::User.count }.by 1
|
||||
expect(page).to have_text "Created Successfully"
|
||||
expect(page).to have_text "Email confirmation is pending"
|
||||
|
||||
expect(page).to have_select "Language", selected: "English"
|
||||
select "Español", from: "Language"
|
||||
|
||||
perform_enqueued_jobs do
|
||||
expect do
|
||||
click_button "Create"
|
||||
end.to change { Spree::User.count }.by 1
|
||||
expect(page).to have_text "Created Successfully"
|
||||
expect(page).to have_text "Email confirmation is pending"
|
||||
|
||||
expect(Spree::User.last.locale).to eq "es"
|
||||
|
||||
expect(ActionMailer::Base.deliveries.first.subject).to match(
|
||||
"Por favor, confirma tu cuenta de OFN"
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user