Commit 4c3412c3 authored by Mark Fletcher's avatar Mark Fletcher

Update profiles/account view to display new username

parent 7733f285
...@@ -47,11 +47,14 @@ class ProfilesController < Profiles::ApplicationController ...@@ -47,11 +47,14 @@ class ProfilesController < Profiles::ApplicationController
end end
def update_username def update_username
@user.update_attributes(username: user_params[:username]) if @user.update_attributes(username: user_params[:username])
options = { notice: "Username successfully changed" }
respond_to do |format| else
format.js message = @user.errors.full_messages.uniq.join('. ')
options = { alert: "Username change failed - #{message}" }
end end
redirect_back_or_default(default: { action: 'show' }, options: options)
end end
private private
......
...@@ -93,7 +93,7 @@ ...@@ -93,7 +93,7 @@
%p %p
Changing your username will change path to all personal projects! Changing your username will change path to all personal projects!
.col-lg-9 .col-lg-9
= form_for @user, url: update_username_profile_path, method: :put, remote: true, html: {class: "update-username"} do |f| = form_for @user, url: update_username_profile_path, method: :put, html: {class: "update-username"} do |f|
.form-group .form-group
= f.label :username, "Path", class: "label-light" = f.label :username, "Path", class: "label-light"
.input-group .input-group
......
- if @user.valid?
:plain
new Flash("Username successfully changed", "notice")
- else
- error = @user.errors.full_messages.first
:plain
new Flash("Username change failed - #{escape_javascript error.html_safe}", "alert")
---
title: Update account view to display new username
merge_request:
author:
...@@ -61,4 +61,18 @@ describe 'Profile account page', feature: true do ...@@ -61,4 +61,18 @@ describe 'Profile account page', feature: true do
expect(find('#incoming-email-token').value).not_to eq(previous_token) expect(find('#incoming-email-token').value).not_to eq(previous_token)
end end
end end
describe 'when I change my username' do
before do
visit profile_account_path
end
it 'changes my username' do
fill_in 'user_username', with: 'new-username'
click_button('Update username')
expect(page).to have_content('new-username')
end
end
end end
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