mirror of
https://github.com/glitch-soc/mastodon.git
synced 2026-03-29 03:00:33 +02:00
Merge commit 'f652c54c3334890176331f62150559a96eeb41ae' into glitch-soc/merge-upstream
Conflicts: - `app/services/backup_service.rb`: Upstream refactored activity serialization while glitch-soc passed an extra argument. Followed upstream's refactor, keeping our extra argument.
This commit is contained in:
54
spec/system/admin/confirmations_spec.rb
Normal file
54
spec/system/admin/confirmations_spec.rb
Normal file
@@ -0,0 +1,54 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require 'rails_helper'
|
||||
|
||||
RSpec.describe 'Admin Confirmations' do
|
||||
before { sign_in Fabricate(:admin_user) }
|
||||
|
||||
describe 'Confirming a user' do
|
||||
let!(:user) { Fabricate :user, confirmed_at: nil }
|
||||
|
||||
it 'changes user to confirmed and returns to accounts page' do
|
||||
# Go to accounts listing page
|
||||
visit admin_accounts_path
|
||||
expect(page)
|
||||
.to have_title(I18n.t('admin.accounts.title'))
|
||||
|
||||
# Go to account page
|
||||
click_on user.account.username
|
||||
|
||||
# Click to confirm
|
||||
expect { click_on I18n.t('admin.accounts.confirm') }
|
||||
.to change(Admin::ActionLog.where(action: 'confirm'), :count).by(1)
|
||||
expect(page)
|
||||
.to have_title(I18n.t('admin.accounts.title'))
|
||||
expect(user.reload)
|
||||
.to be_confirmed
|
||||
end
|
||||
end
|
||||
|
||||
describe 'Resending a confirmation email', :inline_jobs do
|
||||
let!(:user) { Fabricate(:user, confirmed_at: confirmed_at) }
|
||||
|
||||
context 'when email is not confirmed' do
|
||||
let(:confirmed_at) { nil }
|
||||
|
||||
it 'resends the confirmation mail' do
|
||||
visit admin_account_path(id: user.account.id)
|
||||
|
||||
emails = capture_emails { resend_confirmation }
|
||||
expect(page)
|
||||
.to have_title(I18n.t('admin.accounts.title'))
|
||||
.and have_content(I18n.t('admin.accounts.resend_confirmation.success'))
|
||||
|
||||
expect(emails.first)
|
||||
.to be_present
|
||||
.and deliver_to(user.email)
|
||||
end
|
||||
end
|
||||
|
||||
def resend_confirmation
|
||||
click_on I18n.t('admin.accounts.resend_confirmation.send')
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -25,7 +25,7 @@ RSpec.describe 'Log in' do
|
||||
it 'A invalid email and password user is not able to log in' do
|
||||
fill_in_auth_details('invalid_email', 'invalid_password')
|
||||
|
||||
expect(subject).to have_css('.flash-message', text: failure_message('invalid'))
|
||||
expect(subject).to have_css('.flash-message', text: /#{failure_message_invalid}/i)
|
||||
end
|
||||
|
||||
context 'when confirmed at is nil' do
|
||||
@@ -38,8 +38,8 @@ RSpec.describe 'Log in' do
|
||||
end
|
||||
end
|
||||
|
||||
def failure_message(message)
|
||||
def failure_message_invalid
|
||||
keys = User.authentication_keys.map { |key| User.human_attribute_name(key) }
|
||||
I18n.t("devise.failure.#{message}", authentication_keys: keys.join('support.array.words_connector'))
|
||||
I18n.t('devise.failure.invalid', authentication_keys: keys.join('support.array.words_connector'))
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user