Module: Glib::TestHelpers

Extended by:
ActiveSupport::Concern
Defined in:
lib/glib/test_helpers.rb

Defined Under Namespace

Modules: ClassMethods

Constant Summary collapse

HOST =
'www.lvh.me:3000'

Instance Method Summary collapse

Instance Method Details

#crawl_json_pages(user, check_result: true, log_file: nil, &block) ⇒ Object



36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/glib/test_helpers.rb', line 36

def crawl_json_pages(user, check_result: true, log_file: nil, &block)
  __execute_crawler(user, check_result: true) do |router, http|
    path = user[:path] ? "#{user[:path]}?format=json" : '/users/me?format=json&redirect=default'
    router.host = HOST
    router.step(
      http,
      'onClick' => {
        'action' => user[:action] || 'initiate_navigation',
        'url' => user[:url] || "http://#{HOST}#{path}"
      }
    )
  end
end

#logoutObject



56
57
58
59
# File 'lib/glib/test_helpers.rb', line 56

def logout
  delete logout_url
  assert_response :success
end

#logout_urlObject



61
62
63
# File 'lib/glib/test_helpers.rb', line 61

def logout_url
  "http://#{HOST}/users/sign_out.json"
end

#response_assert_equalObject

LOG_DIR = File.expand_path(

File.join(File.dirname(__FILE__), 'integration/json_ui_crawler_test_results')

)



30
31
32
33
34
# File 'lib/glib/test_helpers.rb', line 30

def response_assert_equal
  expected = __get_previous_result_from_git
  result = __log_controller_data(response.body)
  assert_equal JSON.parse(expected), JSON.parse(result), "Result mismatch! #{__git_is_available? ? `git diff #{__controller_log_dir}/#{__controller_log_file}` : ''}"
end

#retrace_json_pages(user, guiding_routers:) ⇒ Object



50
51
52
53
54
# File 'lib/glib/test_helpers.rb', line 50

def retrace_json_pages(user, guiding_routers:)
  __execute_crawler(user, check_result: true) do |router, http|
    router.follow(http, guiding_routers)
  end
end