Newer
Older
user.send_reset_password_instructions
end
it "queues up a job to send the reset password instructions" do
user = Factory :user
Resque.should_receive(:enqueue).with(Jobs::ResetPassword, user.id)
user.send_reset_password_instructions
context "close account" do
before do
@user = bob
end
describe "#close_account!" do
Ilya Zhitomirskiy
a validé
it 'locks the user out' do
@user.close_account!
@user.reload.access_locked?.should be_true
end
it 'creates an account deletion' do
expect{
@user.close_account!
}.to change(AccountDeletion, :count).by(1)
Ilya Zhitomirskiy
a validé
end
Ilya Zhitomirskiy
a validé
it 'calls person#lock_access!' do
@user.person.should_receive(:lock_access!)
@user.close_account!
end
end
describe "#clear_account!" do
it 'resets the password to a random string' do
random_pass = "12345678909876543210"
ActiveSupport::SecureRandom.should_receive(:hex).and_return(random_pass)
Ilya Zhitomirskiy
a validé
@user.clear_account!
@user.valid_password?(random_pass)
end
it 'clears all the clearable fields' do
Ilya Zhitomirskiy
a validé
@user.reload
Ilya Zhitomirskiy
a validé
@user.clear_account!
Ilya Zhitomirskiy
a validé
@user.reload
attributes.each do |attr|
@user.send(attr.to_sym).should be_blank
end
end
end
describe "#clearable_attributes" do
Ilya Zhitomirskiy
a validé
it 'returns the clearable fields' do
user = Factory.create :user
user.send(:clearable_fields).sort.should == %w{
language
invitation_token
invitation_sent_at
reset_password_token
remember_token
remember_created_at
sign_in_count
current_sign_in_at
last_sign_in_at
current_sign_in_ip
last_sign_in_ip
invitation_service
invitation_identifier
invitation_limit
invited_by_id
invited_by_type
authentication_token
auto_follow_back
auto_follow_back_aspect_id
unconfirmed_email
confirm_email_token
}.sort
end
end
end