Fix user disabling changing activity timestamps, fix nil error (#12943)
This commit is contained in:
		
							parent
							
								
									b169901439
								
							
						
					
					
						commit
						fb1df3d5d5
					
				
					 2 changed files with 3 additions and 18 deletions
				
			
		|  | @ -128,9 +128,7 @@ class User < ApplicationRecord | |||
|   end | ||||
| 
 | ||||
|   def disable! | ||||
|     update!(disabled: true, | ||||
|             last_sign_in_at: current_sign_in_at, | ||||
|             current_sign_in_at: nil) | ||||
|     update!(disabled: true) | ||||
|   end | ||||
| 
 | ||||
|   def enable! | ||||
|  | @ -301,7 +299,7 @@ class User < ApplicationRecord | |||
|       arr << [current_sign_in_at, current_sign_in_ip] if current_sign_in_ip.present? | ||||
|       arr << [last_sign_in_at, last_sign_in_ip] if last_sign_in_ip.present? | ||||
| 
 | ||||
|       arr.sort_by(&:first).uniq(&:last).reverse! | ||||
|       arr.sort_by { |pair| pair.first || Time.now.utc }.uniq(&:last).reverse! | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|  |  | |||
|  | @ -322,20 +322,7 @@ RSpec.describe User, type: :model do | |||
|     end | ||||
| 
 | ||||
|     it 'disables user' do | ||||
|       expect(user).to have_attributes(disabled: true, current_sign_in_at: nil, last_sign_in_at: current_sign_in_at) | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   describe '#disable!' do | ||||
|     subject(:user) { Fabricate(:user, disabled: false, current_sign_in_at: current_sign_in_at, last_sign_in_at: nil) } | ||||
|     let(:current_sign_in_at) { Time.zone.now } | ||||
| 
 | ||||
|     before do | ||||
|       user.disable! | ||||
|     end | ||||
| 
 | ||||
|     it 'disables user' do | ||||
|       expect(user).to have_attributes(disabled: true, current_sign_in_at: nil, last_sign_in_at: current_sign_in_at) | ||||
|       expect(user).to have_attributes(disabled: true) | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue