users: refactor change password page.

* Fix users being redirected back to the change password page after
  successfully changing their password.
* Move passwords controller out of /maintenance/ namespace.
* Add tests.
This commit is contained in:
evazion
2020-03-08 16:07:34 -05:00
parent c30ba8d5bc
commit f25bace766
6 changed files with 72 additions and 23 deletions

View File

@@ -0,0 +1,26 @@
require 'test_helper'
class PasswordsControllerTest < ActionDispatch::IntegrationTest
context "The passwords controller" do
setup do
@user = create(:user, password: "12345")
end
context "edit action" do
should "work" do
get_auth edit_user_password_path(@user), @user
assert_response :success
end
end
context "update action" do
should "work" do
put_auth user_password_path(@user), @user, params: { user: { old_password: "12345", password: "abcde", password_confirmation: "abcde" } }
assert_redirected_to user_path(@user)
assert_equal(nil, User.authenticate(@user.name, "12345"))
assert_equal(@user, User.authenticate(@user.name, "abcde"))
end
end
end
end