end
def account_params
- params.permit(:username, :email, :password, :agreement, :locale)
+ params.permit(:username, :email, :password, :agreement, :locale, :reason)
end
def check_enabled_registrations
def call(app, params)
return unless allowed_registrations?
- user_params = params.slice(:email, :password, :agreement, :locale)
- account_params = params.slice(:username)
- user = User.create!(user_params.merge(created_by_application: app, password_confirmation: user_params[:password], account_attributes: account_params))
+ user_params = params.slice(:email, :password, :agreement, :locale)
+ account_params = params.slice(:username)
+ invite_request_params = { text: params[:reason] }
+ user = User.create!(user_params.merge(created_by_application: app, password_confirmation: user_params[:password], account_attributes: account_params, invite_request_attributes: invite_request_params))
Doorkeeper::AccessToken.create!(application: app,
resource_owner_id: user.id,
user = User.find_by(id: access_token.resource_owner_id)
expect(user).to_not be_nil
expect(user.account).to_not be_nil
+ expect(user.invite_request).to be_nil
+ end
+
+ it 'creates an account with invite request text' do
+ access_token = subject.call(app, good_params.merge(reason: 'Foo bar'))
+ expect(access_token).to_not be_nil
+ user = User.find_by(id: access_token.resource_owner_id)
+ expect(user).to_not be_nil
+ expect(user.invite_request&.text).to eq 'Foo bar'
end
end
end