Add ability to require approval when users sign up using specific email domains (#28468)
This commit is contained in:
parent
195b89d336
commit
dfdadb92e8
13 changed files with 84 additions and 16 deletions
|
@ -12,13 +12,14 @@ RSpec.describe Admin::EmailDomainBlocksController do
|
|||
describe 'GET #index' do
|
||||
around do |example|
|
||||
default_per_page = EmailDomainBlock.default_per_page
|
||||
EmailDomainBlock.paginates_per 1
|
||||
EmailDomainBlock.paginates_per 2
|
||||
example.run
|
||||
EmailDomainBlock.paginates_per default_per_page
|
||||
end
|
||||
|
||||
it 'returns http success' do
|
||||
2.times { Fabricate(:email_domain_block) }
|
||||
Fabricate(:email_domain_block, allow_with_approval: true)
|
||||
get :index, params: { page: 2 }
|
||||
expect(response).to have_http_status(200)
|
||||
end
|
||||
|
|
|
@ -135,6 +135,25 @@ RSpec.describe Auth::RegistrationsController do
|
|||
end
|
||||
end
|
||||
|
||||
context 'when user has an email address requiring approval' do
|
||||
subject do
|
||||
Setting.registrations_mode = 'open'
|
||||
Fabricate(:email_domain_block, allow_with_approval: true, domain: 'example.com')
|
||||
request.headers['Accept-Language'] = accept_language
|
||||
post :create, params: { user: { account_attributes: { username: 'test' }, email: 'test@example.com', password: '12345678', password_confirmation: '12345678', agreement: 'true' } }
|
||||
end
|
||||
|
||||
it 'creates unapproved user and redirects to setup' do
|
||||
subject
|
||||
expect(response).to redirect_to auth_setup_path
|
||||
|
||||
user = User.find_by(email: 'test@example.com')
|
||||
expect(user).to_not be_nil
|
||||
expect(user.locale).to eq(accept_language)
|
||||
expect(user.approved).to be(false)
|
||||
end
|
||||
end
|
||||
|
||||
context 'with Approval-based registrations without invite' do
|
||||
subject do
|
||||
Setting.registrations_mode = 'approved'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue