diff options
author | Eric Eastwood <contact@ericeastwood.com> | 2017-11-30 01:04:41 +0300 |
---|---|---|
committer | Eric Eastwood <contact@ericeastwood.com> | 2017-11-30 01:04:41 +0300 |
commit | ed3fcdd09bed143b0397d8dd9aaf7b9350597920 (patch) | |
tree | c112cd6f28b76d27ddce2d121be24375200b98d8 | |
parent | fbe8dfb3008a0502fbc6234a169851a70707b7b6 (diff) |
Remove blank flash messages caused by nil
Fix https://gitlab.com/gitlab-org/gitlab-ce/issues/40671
See
https://gitlab.com/gitlab-org/gitlab-ce/blob/f7254a4060b30e3134c6cf932eaba0fc8e249e9a/app/controllers/sessions_controller.rb#L42
for an example of where we set `flash[:notice] = nil`
-rw-r--r-- | app/views/layouts/_flash.html.haml | 8 | ||||
-rw-r--r-- | spec/features/logout_spec.rb | 22 |
2 files changed, 27 insertions, 3 deletions
diff --git a/app/views/layouts/_flash.html.haml b/app/views/layouts/_flash.html.haml index 1db32379df3..05ddd0ec733 100644 --- a/app/views/layouts/_flash.html.haml +++ b/app/views/layouts/_flash.html.haml @@ -1,6 +1,8 @@ .flash-container.flash-container-page -# We currently only support `alert`, `notice`, `success` - flash.each do |key, value| - %div{ class: "flash-#{key}" } - %div{ class: (container_class) } - %span= value + -# Don't show a flash message if the message is nil + - if value + %div{ class: "flash-#{key}" } + %div{ class: (container_class) } + %span= value diff --git a/spec/features/logout_spec.rb b/spec/features/logout_spec.rb new file mode 100644 index 00000000000..635729efa53 --- /dev/null +++ b/spec/features/logout_spec.rb @@ -0,0 +1,22 @@ +require 'spec_helper' + +describe 'Logout/Sign out', :js do + let(:user) { create(:user) } + + before do + sign_in(user) + visit root_path + end + + it 'sign out redirects to sign in page' do + gitlab_sign_out + + expect(current_path).to eq new_user_session_path + end + + it 'sign out does not show signed out flash notice' do + gitlab_sign_out + + expect(page).not_to have_selector('.flash-notice') + end +end |