Commit 5bc7e631 authored by Tim Zallmann's avatar Tim Zallmann

Merge branch...

Merge branch 'growth-91-when-users-update-their-profile-do-not-let-them-complete-the-update-without-first-filling-in' into 'master'

Make role required when editing profile

Closes gitlab-org/growth/engineering#91

See merge request gitlab-org/gitlab!19636
parents 9488d696 f2e7a4e4
...@@ -94,8 +94,7 @@ ...@@ -94,8 +94,7 @@
- else - else
= f.text_field :name, label: s_('Profiles|Full name'), required: true, title: s_("Profiles|Using emojis in names seems fun, but please try to set a status message instead"), wrapper: { class: 'col-md-9 qa-full-name rspec-full-name' }, help: s_("Profiles|Enter your name, so people you know can recognize you") = f.text_field :name, label: s_('Profiles|Full name'), required: true, title: s_("Profiles|Using emojis in names seems fun, but please try to set a status message instead"), wrapper: { class: 'col-md-9 qa-full-name rspec-full-name' }, help: s_("Profiles|Enter your name, so people you know can recognize you")
= f.text_field :id, readonly: true, label: s_('Profiles|User ID'), wrapper: { class: 'col-md-3' } = f.text_field :id, readonly: true, label: s_('Profiles|User ID'), wrapper: { class: 'col-md-3' }
- if experiment_enabled?(:signup_flow) = f.select :role, ::User.roles.keys.map { |role| [role.titleize, role] }, { prompt: _('Select your role') }, required: true, class: 'input-md'
= f.select :role, ::User.roles.keys.map { |role| [role.titleize, role] }, { prompt: _('Select your role') }, class: 'input-md'
= render_if_exists 'profiles/email_settings', form: f = render_if_exists 'profiles/email_settings', form: f
= f.text_field :skype, class: 'input-md', placeholder: s_("Profiles|username") = f.text_field :skype, class: 'input-md', placeholder: s_("Profiles|username")
......
---
title: Make role required when editing profile
merge_request: 19636
author:
type: changed
...@@ -23,6 +23,7 @@ describe 'User edit profile' do ...@@ -23,6 +23,7 @@ describe 'User edit profile' do
fill_in 'user_location', with: 'Ukraine' fill_in 'user_location', with: 'Ukraine'
fill_in 'user_bio', with: 'I <3 GitLab' fill_in 'user_bio', with: 'I <3 GitLab'
fill_in 'user_organization', with: 'GitLab' fill_in 'user_organization', with: 'GitLab'
select 'Data Analyst', from: 'user_role'
submit_settings submit_settings
expect(user.reload).to have_attributes( expect(user.reload).to have_attributes(
...@@ -31,7 +32,8 @@ describe 'User edit profile' do ...@@ -31,7 +32,8 @@ describe 'User edit profile' do
twitter: 'testtwitter', twitter: 'testtwitter',
website_url: 'testurl', website_url: 'testurl',
bio: 'I <3 GitLab', bio: 'I <3 GitLab',
organization: 'GitLab' organization: 'GitLab',
role: 'data_analyst'
) )
expect(find('#user_location').value).to eq 'Ukraine' expect(find('#user_location').value).to eq 'Ukraine'
...@@ -66,34 +68,6 @@ describe 'User edit profile' do ...@@ -66,34 +68,6 @@ describe 'User edit profile' do
end end
end end
describe 'when I change my role' do
context 'experiment enabled' do
before do
stub_experiment_for_user(signup_flow: true)
visit(profile_path)
end
it 'changes my role' do
expect(page).to have_content 'Role'
select 'Data Analyst', from: 'user_role'
submit_settings
user.reload
expect(user.role).to eq 'data_analyst'
end
end
context 'experiment disabled' do
before do
stub_experiment_for_user(signup_flow: false)
visit(profile_path)
end
it 'does not show the role picker' do
expect(page).not_to have_content 'Role'
end
end
end
context 'user avatar' do context 'user avatar' do
before do before do
attach_file(:user_avatar, Rails.root.join('spec', 'fixtures', 'banana_sample.gif')) attach_file(:user_avatar, Rails.root.join('spec', 'fixtures', 'banana_sample.gif'))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment