discourse/spec/integration/invite_only_registration_spec.rb
2022-07-28 10:27:38 +08:00

46 lines
1.1 KiB
Ruby

# encoding: UTF-8
# frozen_string_literal: true
RSpec.describe 'invite only' do
describe '#create invite only' do
it 'can create user via API' do
SiteSetting.invite_only = true
Jobs.run_immediately!
admin = Fabricate(:admin)
api_key = Fabricate(:api_key, user: admin)
post '/users.json', params: {
name: 'bob',
username: 'bob',
password: 'strongpassword',
email: 'bob@bob.com',
}, headers: {
HTTP_API_KEY: api_key.key,
HTTP_API_USERNAME: admin.username
}
user_id = response.parsed_body["user_id"]
expect(user_id).to be > 0
# activate and approve
put "/admin/users/#{user_id}/activate.json", headers: {
HTTP_API_KEY: api_key.key,
HTTP_API_USERNAME: admin.username
}
put "/admin/users/#{user_id}/approve.json", headers: {
HTTP_API_KEY: api_key.key,
HTTP_API_USERNAME: admin.username
}
u = User.find(user_id)
expect(u.active).to eq(true)
expect(u.approved).to eq(true)
end
end
end