Skip to content

Instantly share code, notes, and snippets.

@ang3lkar
Created June 27, 2016 14:59
Show Gist options
  • Select an option

  • Save ang3lkar/62466761350f2e6cfadaa895c3978f0a to your computer and use it in GitHub Desktop.

Select an option

Save ang3lkar/62466761350f2e6cfadaa895c3978f0a to your computer and use it in GitHub Desktop.
Rails performance test setup
require 'test_helper'
require 'rails/performance_test_help'
require_relative 'support/backend_test_helper'
class BackendTest < ActionDispatch::PerformanceTest
include BackendTestHelper
attr_reader :eddard, :jaime
setup do
host! 'test.host'
@eddard = new_session_as(:eddard)
@jaime = candidates(:wf1_jaime)
end
test 'backend' do
eddard.visits_backend
end
test 'api' do
eddard.gets_candidates
end
end
module BackendTestHelper
def new_session_as(user)
new_session do |sess|
sess.log_in(user)
yield sess if block_given?
end
end
def new_session
open_session do |sess|
sess.extend(BackendDSL)
yield sess if block_given?
end
end
def log_in(user)
current_user = user.is_a?(User) ? user : users(user)
post_via_redirect '/authenticate', email: current_user.email, password: '12345678'
assert_response :success
assert_equal '/backend', path
end
module BackendDSL
def visits_backend
get '/backend'
end
def gets_candidates
get '/backend/api/candidates', format: :json
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment