Sha256: c27987cfc055e513fe2bdb335a39b5a2c2462e1f62a133c9092e7b1f9d3f0373

Contents?: true

Size: 830 Bytes

Versions: 10

Compression:

Stored size: 830 Bytes

Contents

# This class works around some weirdness with Capybara's test suite and sinatra's behavior.
# We need to make sure that sinatra uses TestApp for at least one request before the Capybara session
# specs run.  Without this we get errors from sinatra trying to handle requests with TestApp.clone
class ExtendedTestAppSetup
  include Capybara::DSL

  attr_reader :remote_test_url

  def boot
    boot_test_app
    boot_remote_app
    Capybara.raise_server_errors = false

    self
  end

  def boot_test_app
    Capybara.app = TestApp
    dummy_server = Capybara::Server.new(TestApp)
    dummy_server.boot

    # Boot TestApp's Sinatra
    visit '/'
  end

  def boot_remote_app
    remote_server = Capybara::Server.new(ExtendedTestApp)
    remote_server.boot
    @remote_test_url = "http://localhost:#{remote_server.port}"
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
capybara-mechanize-1.11.0 spec/support/extended_test_app_setup.rb
capybara-mechanize-1.10.1 spec/support/extended_test_app_setup.rb
capybara-mechanize-1.10.0 spec/support/extended_test_app_setup.rb
capybara-mechanize-1.9.0 spec/support/extended_test_app_setup.rb
capybara-mechanize-1.8.0 spec/support/extended_test_app_setup.rb
capybara-mechanize-1.7.0 spec/support/extended_test_app_setup.rb
capybara-mechanize-1.6.0 spec/support/extended_test_app_setup.rb
capybara-mechanize-1.5.0 spec/support/extended_test_app_setup.rb
capybara-mechanize-1.4.1 spec/support/extended_test_app_setup.rb
capybara-mechanize-1.4.0 spec/support/extended_test_app_setup.rb