Created
June 27, 2016 14:59
-
-
Save ang3lkar/62466761350f2e6cfadaa895c3978f0a to your computer and use it in GitHub Desktop.
Rails performance test setup
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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