Sha256: 9f2f20de6e8a9fc19cb1399aa2ecad12613154778bc850f15d318466f201c940

Contents?: true

Size: 1.81 KB

Versions: 11

Compression:

Stored size: 1.81 KB

Contents

require "rubygems"
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

  def test_upload_file
    visit "/upload"
    attach_file "File", __FILE__, "text/ruby"
    click_button "Upload"

    upload = Marshal.load(response_body)
    assert_equal "text/ruby", upload[:type]
    assert_equal "webrat_rack_test.rb", upload[:filename]
    assert_equal File.read(__FILE__), upload[:tempfile]
  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::RackAdapter.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

11 entries across 11 versions & 6 rubygems

Version Path
radiant-1.0.0 ruby-debug/ruby/1.8/gems/webrat-0.7.3/spec/integration/rack/test/webrat_rack_test.rb
webrat-0.7.3 spec/integration/rack/test/webrat_rack_test.rb
jbd-webrat-0.7.2.rails3 spec/integration/rack/test/webrat_rack_test.rb
webrat-0.7.2 spec/integration/rack/test/webrat_rack_test.rb
webrat-0.7.2.beta.2 spec/integration/rack/test/webrat_rack_test.rb
mutle-webrat-0.7.2.beta.1 spec/integration/rack/test/webrat_rack_test.rb
thoughtbot-webrat-0.7.2.pre spec/integration/rack/test/webrat_rack_test.rb
webrat-0.7.2.beta.1 spec/integration/rack/test/webrat_rack_test.rb
honkster-webrat-0.7.1.2 spec/integration/rack/test/webrat_rack_test.rb
honkster-webrat-0.7.1.1 spec/integration/rack/test/webrat_rack_test.rb
webrat-0.7.1 spec/integration/rack/test/webrat_rack_test.rb