Browse Source

Fix user disabling changing activity timestamps, fix nil error (#12943)

closed-social-v3
Eugen Rochko 4 years ago
committed by GitHub
parent
commit
71921f6bc3
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 18 deletions
  1. +2
    -4
      app/models/user.rb
  2. +1
    -14
      spec/models/user_spec.rb

+ 2
- 4
app/models/user.rb View File

@ -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

+ 1
- 14
spec/models/user_spec.rb View File

@ -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…
Cancel
Save