diff --git a/Changelog.md b/Changelog.md index 12cdc2a040940022b90cd621bc7c0b4300e0d198..d01623e49f4104a00b7fc23ded7805981f354c11 100644 --- a/Changelog.md +++ b/Changelog.md @@ -9,6 +9,7 @@ * Precompile facebox images [#6105](https://github.com/diaspora/diaspora/pull/6105) * Fix wrong closing a-tag [#6111](https://github.com/diaspora/diaspora/pull/6111) * Fix mobile more-button wording when there are less than 15 posts [#6118](https://github.com/diaspora/diaspora/pull/6118) +* Fix reappearing flash boxes during sign-in [#6146](https://github.com/diaspora/diaspora/pull/6146) ## Features * Add configuration options for some debug logs [#6090](https://github.com/diaspora/diaspora/pull/6090) diff --git a/app/controllers/registrations_controller.rb b/app/controllers/registrations_controller.rb index 611b1cf94905fac12afd8b5d0ea53e31f7c0fe47..4697592fb01d51ceefd2c59c45b455b1ef7f3c5e 100644 --- a/app/controllers/registrations_controller.rb +++ b/app/controllers/registrations_controller.rb @@ -20,7 +20,7 @@ class RegistrationsController < Devise::RegistrationsController else @user.errors.delete(:person) - flash[:error] = @user.errors.full_messages.join(" - ") + flash.now[:error] = @user.errors.full_messages.join(" - ") logger.info "event=registration status=failure errors='#{@user.errors.full_messages.join(', ')}'" render :action => 'new', :layout => 'with_header' end diff --git a/features/desktop/signs_up.feature b/features/desktop/signs_up.feature index 46ee98c3f9fe712d66a57b5fa7634d070f8c3caf..0f955a19c13abe1973c0437fcea3516c3e7d8ac7 100644 --- a/features/desktop/signs_up.feature +++ b/features/desktop/signs_up.feature @@ -88,3 +88,12 @@ Feature: new user registration And I press "Sign up" Then I should not be able to sign up And I should have a validation error on "user_password, user_password_confirmation" + + Scenario: User signs up with an already existing username and email and then tries to sign in (Issue #6136) + When I log out manually + And I go to the new user registration page + And I fill in the new user form with an existing email and username + And I submit the form + Then I should see a flash message indicating failure + When I click the sign in button + Then I should not see a flash message indicating failure diff --git a/features/step_definitions/custom_web_steps.rb b/features/step_definitions/custom_web_steps.rb index 0009f8b56d5d1b595e0d91a68a1999406d8304fa..19c2848880b86321d6bbdce858368784dc88d34f 100644 --- a/features/step_definitions/custom_web_steps.rb +++ b/features/step_definitions/custom_web_steps.rb @@ -255,6 +255,10 @@ Then /^I should see a flash message indicating failure$/ do flash_message_failure?.should be true end +Then /^I should not see a flash message indicating failure$/ do + expect { flash_message_failure?.should }.to raise_error(Capybara::ElementNotFound) +end + Then /^I should see a flash message with a warning$/ do flash_message_alert?.should be true end diff --git a/features/step_definitions/user_steps.rb b/features/step_definitions/user_steps.rb index 5c9c5516486a2058598de09898f5de6c187d0826..b23e3759762e57b37045a41bd816b98251f38c28 100644 --- a/features/step_definitions/user_steps.rb +++ b/features/step_definitions/user_steps.rb @@ -206,7 +206,7 @@ Given /^I visit alice's invitation code url$/ do visit invite_code_path(invite_code) end -When /^I fill in the new user form$/ do +When /^I fill in the new user form/ do fill_in_new_user_form end @@ -215,3 +215,7 @@ And /^I should be able to friend Alice$/ do step 'I should see "Add contact"' step "I should see \"#{alice.name}\"" end + +When /^I click the sign in button$/ do + click_link "Sign in" +end