implemented password resets

This commit is contained in:
albert
2011-07-20 15:54:17 -04:00
parent 37e1b8d9da
commit c453e7db0f
10 changed files with 47 additions and 15 deletions

View File

@@ -76,6 +76,32 @@ module Maintenance
@user = Factory.create(:user)
@nonce = Factory.create(:user_password_reset_nonce, :email => @user.email)
ActionMailer::Base.deliveries.clear
get :edit, :email => @nonce.email, :key => @nonce.key
end
should "succeed" do
assert_response :success
end
end
end
context "update action" do
context "with invalid parameters" do
setup do
get :update
end
should "fail" do
assert_redirected_to new_maintenance_user_password_reset_path
end
end
context "with valid parameters" do
setup do
@user = Factory.create(:user)
@nonce = Factory.create(:user_password_reset_nonce, :email => @user.email)
ActionMailer::Base.deliveries.clear
@old_password = @user.password_hash
post :update, :email => @nonce.email, :key => @nonce.key
end
@@ -87,6 +113,11 @@ module Maintenance
assert_equal(1, ActionMailer::Base.deliveries.size)
end
should "change the password" do
@user.reload
assert_not_equal(@old_password, @user.password_hash)
end
should "delete the nonce" do
assert_equal(0, UserPasswordResetNonce.count)
end