Skip to Content Skip to Search
Methods
A
C
D
F
G
H
I
N
O
P
Q
R
Included Modules

Constants

APP_SESSIONS = {}
 

Attributes

[R] app

Class Public methods

new(*args, &blk)

# File actionpack/lib/action_dispatch/testing/integration.rb, line 363
def initialize(*args, &blk)
  super(*args, &blk)
  @integration_session = nil
end

Instance Public methods

assigns(...)

# File actionpack/lib/action_dispatch/testing/integration.rb, line 468
def assigns(...)
  result = integration_session.assigns(...)
  copy_session_variables!
  result
end

cookies(...)

# File actionpack/lib/action_dispatch/testing/integration.rb, line 462
def cookies(...)
  result = integration_session.cookies(...)
  copy_session_variables!
  result
end

create_session(app)

# File actionpack/lib/action_dispatch/testing/integration.rb, line 383
def create_session(app)
  klass = APP_SESSIONS[app] ||= Class.new(Integration::Session) {
    # If the app is a Rails app, make url_helpers available on the session. This
    # makes app.url_for and app.foo_path available in the console.
    if app.respond_to?(:routes) && app.routes.is_a?(ActionDispatch::Routing::RouteSet)
      include app.routes.url_helpers
      include app.routes.mounted_helpers
    end
  }
  klass.new(app)
end

default_url_options()

# File actionpack/lib/action_dispatch/testing/integration.rb, line 507
def default_url_options
  integration_session.default_url_options
end

default_url_options=(options)

# File actionpack/lib/action_dispatch/testing/integration.rb, line 511
def default_url_options=(options)
  integration_session.default_url_options = options
end

delete(...)

# File actionpack/lib/action_dispatch/testing/integration.rb, line 434
def delete(...)
  @html_document = nil
  result = integration_session.delete(...)
  copy_session_variables!
  result
end

follow_redirect!(...)

# File actionpack/lib/action_dispatch/testing/integration.rb, line 455
def follow_redirect!(...)
  @html_document = nil
  result = integration_session.follow_redirect!(...)
  copy_session_variables!
  result
end

get(...)

# File actionpack/lib/action_dispatch/testing/integration.rb, line 399
def get(...)
  @html_document = nil
  result = integration_session.get(...)
  copy_session_variables!
  result
end

head(...)

# File actionpack/lib/action_dispatch/testing/integration.rb, line 427
def head(...)
  @html_document = nil
  result = integration_session.head(...)
  copy_session_variables!
  result
end

integration_session()

# File actionpack/lib/action_dispatch/testing/integration.rb, line 373
def integration_session
  @integration_session ||= create_session(app)
end

open_session()

Open a new session instance. If a block is given, the new session is yielded to the block before being returned.

session = open_session do |sess|
  sess.extend(CustomAssertions)
end

By default, a single session is automatically created for you, but you can use this method to open multiple sessions that ought to be tested simultaneously.

# File actionpack/lib/action_dispatch/testing/integration.rb, line 483
def open_session
  dup.tap do |session|
    session.reset!
    session.root_session = self.root_session || self
    yield session if block_given?
  end
end

options(...)

# File actionpack/lib/action_dispatch/testing/integration.rb, line 441
def options(...)
  @html_document = nil
  result = integration_session.options(...)
  copy_session_variables!
  result
end

patch(...)

# File actionpack/lib/action_dispatch/testing/integration.rb, line 413
def patch(...)
  @html_document = nil
  result = integration_session.patch(...)
  copy_session_variables!
  result
end

post(...)

# File actionpack/lib/action_dispatch/testing/integration.rb, line 406
def post(...)
  @html_document = nil
  result = integration_session.post(...)
  copy_session_variables!
  result
end

put(...)

# File actionpack/lib/action_dispatch/testing/integration.rb, line 420
def put(...)
  @html_document = nil
  result = integration_session.put(...)
  copy_session_variables!
  result
end

query(...)

# File actionpack/lib/action_dispatch/testing/integration.rb, line 448
def query(...)
  @html_document = nil
  result = integration_session.query(...)
  copy_session_variables!
  result
end

reset!()

Reset the current session. This is useful for testing multiple sessions in a single test case.

# File actionpack/lib/action_dispatch/testing/integration.rb, line 379
def reset!
  @integration_session = create_session(app)
end