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

th-downstream
Eugen Rochko 5 years ago committed by GitHub
parent b169901439
commit fb1df3d5d5

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