0
0
Fork 0

Add resend confirmation for admin (#7378)

* Add confirmations_controller#resend

* Add tests for confirmations_controller#resend

* Add translations
This commit is contained in:
Shuhei Kitagawa 2018-05-06 17:59:03 +09:00 committed by Eugen Rochko
parent 8c35d163a5
commit bd10a7e480
35 changed files with 251 additions and 4 deletions

View file

@ -30,4 +30,35 @@ RSpec.describe Admin::ConfirmationsController, type: :controller do
expect(response).to have_http_status(404)
end
end
describe 'POST #resernd' do
subject { post :resend, params: { account_id: account.id } }
let(:account) { Fabricate(:account) }
let!(:user) { Fabricate(:user, confirmed_at: confirmed_at, account: account) }
before do
allow(UserMailer).to receive(:confirmation_instructions) { double(:email, deliver_later: nil) }
end
context 'when email is not confirmed' do
let(:confirmed_at) { nil }
it 'resends confirmation mail' do
expect(subject).to redirect_to admin_accounts_path
expect(flash[:notice]).to eq I18n.t('admin.accounts.resend_confirmation.success')
expect(UserMailer).to have_received(:confirmation_instructions).once
end
end
context 'when email is confirmed' do
let(:confirmed_at) { Time.zone.now }
it 'does not resend confirmation mail' do
expect(subject).to redirect_to admin_accounts_path
expect(flash[:error]).to eq I18n.t('admin.accounts.resend_confirmation.already_confirmed')
expect(UserMailer).not_to have_received(:confirmation_instructions)
end
end
end
end