require "test_helper" class SudosControllerTest < ActionDispatch::IntegrationTest setup do @<%= singular_table_name %>, @token = sign_in_as(<%= table_name %>(:lazaro_nixon)) @<%= singular_table_name %>.sessions.last.update! sudo_at: 1.day.ago end test "should sudo" do post sudo_url, params: { password: "Secret123456" }, headers: { "Authorization" => "Bearer #{@token}" } assert_response :no_content end test "should not sudo with wrong password" do post sudo_url, params: { password: "SecretWrong123" }, headers: { "Authorization" => "Bearer #{@token}" } assert_response :bad_request assert_equal "The 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: "Secret123456" }, headers: { "User-Agent" => "App iOS" }); [<%= singular_table_name %>, response.headers["X-Session-Token"]] end end