# frozen_string_literal: true module IntegrationHelpers def create_user get "/session/hp.json" expect(response.status).to eq(200) body = response.parsed_body honeypot = body["value"] challenge = body["challenge"] user = Fabricate.build(:user) post "/u.json", params: { username: user.username, email: user.email, password: 'asdasljdhaiosdjioaeiow', password_confirmation: honeypot, challenge: challenge.reverse } expect(response.status).to eq(200) body = response.parsed_body User.find(body["user_id"]) end def sign_in(user) get "/session/#{user.encoded_username}/become" user end def sign_out delete "/session" end def read_secure_session SecureSession.new(session[:secure_session_id]) end end