Sha256: 16ea1424e3080cc13185e6bdf12f459ef96fa52d0c49125d8c74444f6b0d085a

Contents?: true

Size: 1.47 KB

Versions: 4

Compression:

Stored size: 1.47 KB

Contents

require File.dirname(__FILE__) + "/helper"

class WebratRackTest < Test::Unit::TestCase
  include Rack::Test::Methods
  include Webrat::Methods
  include Webrat::Matchers
  include Webrat::HaveTagMatcher

  def build_rack_mock_session
    Rack::MockSession.new(app, "www.example.com")
  end

  def test_visits_pages
     visit "/"
     click_link "there"

     assert_have_tag("form[@method='post'][@action='/go']")
  end

  def test_submits_form
    visit "/go"
    fill_in "Name", :with => "World"
    fill_in "Email", :with => "world@example.org"
    click_button "Submit"

    assert_contain "Hello, World"
    assert_contain "Your email is: world@example.org"
  end

  def test_check_value_of_field
    visit "/"
    assert_equal field_labeled("Prefilled").value, "text"
  end

  def test_follows_internal_redirects
    visit "/internal_redirect"
    assert_contain "visit"
  end

  def test_does_not_follow_external_redirects
    visit "/external_redirect"
    assert last_response.redirect?
  end

  def test_absolute_url_redirect
    visit "/absolute_redirect"
    assert_contain "spam"
  end
end

class WebratRackSetupTest < Test::Unit::TestCase
  def test_usable_without_mixin
    rack_test_session = Rack::Test::Session.new(Rack::MockSession.new(app))
    adapter = Webrat::RackSession.new(rack_test_session)
    session = Webrat::Session.new(adapter)

    session.visit "/foo"

    assert_equal "spam", session.response_body
    assert_equal "spam", rack_test_session.last_response.body
  end
end

Version data entries

4 entries across 4 versions & 3 rubygems

Version Path
winton-sum-0.1.0 vendor/webrat/spec/integration/rack/test/webrat_rack_test.rb
winton-sum-0.1.1 vendor/webrat/spec/integration/rack/test/webrat_rack_test.rb
sum-0.1.1 vendor/webrat/spec/integration/rack/test/webrat_rack_test.rb
webrat-0.5.0 spec/integration/rack/test/webrat_rack_test.rb