forked from cybrespace/mastodon
		
	Assign user locale on signup (#1982)
This commit is contained in:
		
							parent
							
								
									64e1d51025
								
							
						
					
					
						commit
						d87ee1167e
					
				
					 2 changed files with 7 additions and 1 deletions
				
			
		| 
						 | 
					@ -10,6 +10,7 @@ class Auth::RegistrationsController < Devise::RegistrationsController
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  def build_resource(hash = nil)
 | 
					  def build_resource(hash = nil)
 | 
				
			||||||
    super(hash)
 | 
					    super(hash)
 | 
				
			||||||
 | 
					    resource.locale = I18n.locale
 | 
				
			||||||
    resource.build_account if resource.account.nil?
 | 
					    resource.build_account if resource.account.nil?
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -16,9 +16,12 @@ RSpec.describe Auth::RegistrationsController, type: :controller do
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  describe 'POST #create' do
 | 
					  describe 'POST #create' do
 | 
				
			||||||
 | 
					    let(:accept_language) { Rails.application.config.i18n.available_locales.sample.to_s }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    before do
 | 
					    before do
 | 
				
			||||||
      Setting.open_registrations = true
 | 
					      Setting.open_registrations = true
 | 
				
			||||||
      request.env["devise.mapping"] = Devise.mappings[:user]
 | 
					      request.env["devise.mapping"] = Devise.mappings[:user]
 | 
				
			||||||
 | 
					      request.headers["Accept-Language"] = accept_language
 | 
				
			||||||
      post :create, params: { user: { account_attributes: { username: 'test' }, email: 'test@example.com', password: '12345678', password_confirmation: '12345678' } }
 | 
					      post :create, params: { user: { account_attributes: { username: 'test' }, email: 'test@example.com', password: '12345678', password_confirmation: '12345678' } }
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -27,7 +30,9 @@ RSpec.describe Auth::RegistrationsController, type: :controller do
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    it 'creates user' do
 | 
					    it 'creates user' do
 | 
				
			||||||
      expect(User.find_by(email: 'test@example.com')).to_not be_nil
 | 
					      user = User.find_by(email: 'test@example.com')
 | 
				
			||||||
 | 
					      expect(user).to_not be_nil
 | 
				
			||||||
 | 
					      expect(user.locale).to eq(accept_language)
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue