module Ngrok::Rspec

Constants

VERSION

Attributes

original_app_host[RW]
tunnel[RW]

Public Class Methods

included(base) click to toggle source
# File lib/ngrok/rspec.rb, line 11
def self.included(base)

  Ngrok::Rspec.original_app_host = Capybara.app_host

  ::RSpec.configure do |config|

    config.around(:each, ngrok: true) do |example|
      raise UnknownServerPort, "Define Capybara.server_port in RSpec.config" unless Capybara.server_port
      Ngrok::Tunnel.start(Ngrok::Rspec.tunnel) unless Ngrok::Tunnel.running?

      Capybara.app_host = Ngrok::Tunnel.ngrok_url

      example.run

      Capybara.app_host = Ngrok::Rspec::original_app_host
    end

    config.after(:suite) do
      Ngrok::Tunnel.stop if Ngrok::Tunnel.running?
    end

  end
end