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