require "test_helper" class PasswordsControllerTest < ActionDispatch::IntegrationTest setup do @<%= singular_table_name %>, @token = sign_in_as(<%= table_name %>(:lazaro_nixon)) end test "should update password" do patch password_url, params: { current_password: "Secret123", password: "Secret321", password_confirmation: "Secret321" }, headers: { "Authorization" => "Bearer #{@token}" } assert_response :success end test "should not update password with wrong current password" do patch password_url, params: { current_password: "wrong_password", password: "Secret321", password_confirmation: "Secret321" }, headers: { "Authorization" => "Bearer #{@token}" } assert_response :bad_request assert_equal "The current password you entered is incorrect", response.parsed_body["error"] end def sign_in_as(<%= singular_table_name %>) post(sign_in_url, params: { email: <%= singular_table_name %>.email, password: "Secret123" }); [<%= singular_table_name %>, response.headers["X-Session-Token"]] end end