diff --git a/app/controllers/registrations_controller.rb b/app/controllers/registrations_controller.rb index 14a7b51de..09d11abc2 100644 --- a/app/controllers/registrations_controller.rb +++ b/app/controllers/registrations_controller.rb @@ -13,15 +13,16 @@ class RegistrationsController < Devise::RegistrationsController if @user.save flash[:notice] = I18n.t 'registrations.create.success' - @user.seed_aspects - Role.add_beta(@user.person) if invite.present? && invite.beta? + if invite.present? && invite.beta? + Role.add_beta(@user.person) + else + @user.seed_aspects + end sign_in_and_redirect(:user, @user) - Rails.logger.info("event=registration status=successful user=#{@user.diaspora_handle}") else @user.errors.delete(:person) flash[:error] = @user.errors.full_messages.join(";") - Rails.logger.info("event=registration status=failure errors='#{@user.errors.full_messages.join(', ')}'") render :new end end diff --git a/spec/controllers/registrations_controller_spec.rb b/spec/controllers/registrations_controller_spec.rb index 4b02cd0f9..ecb44a4ac 100644 --- a/spec/controllers/registrations_controller_spec.rb +++ b/spec/controllers/registrations_controller_spec.rb @@ -52,8 +52,6 @@ describe RegistrationsController do end end - - describe "#create" do context "with valid parameters" do before do @@ -92,6 +90,18 @@ describe RegistrationsController do get :create, @valid_params.merge(:invite => {:token => bob.invitation_code.token}) User.last.should be_beta end + + it 'with an invite code from a beta users, does not seed aspects' do + Role.add_beta(bob.person) + + user = Factory(:user) + user.aspects.delete_all + + User.any_instance.stub(:create).and_return(user) + + get :create, @valid_params.merge(:invite => {:token => bob.invitation_code.token}) + user.aspects.should be_empty + end end context "with invalid parameters" do