teamcapybara--capybara/spec/session/rack_test_session_spec.rb

65 lines
2.0 KiB
Ruby
Raw Normal View History

require 'spec_helper'
2009-11-16 21:02:16 +00:00
describe Capybara::Session do
context 'with rack test driver' do
before do
@session = TestSessions::RackTest
end
describe '#driver' do
it "should be a rack test driver" do
@session.driver.should be_an_instance_of(Capybara::RackTest::Driver)
end
end
describe '#mode' do
it "should remember the mode" do
@session.mode.should == :rack_test
end
end
describe '#click_link' do
it "should use data-method if option is true" do
@session.driver.options[:respect_data_method] = true
@session.visit "/with_html"
@session.click_link "A link with data-method"
@session.body.should include('The requested object was deleted')
end
it "should not use data-method if option is false" do
@session.driver.options[:respect_data_method] = false
@session.visit "/with_html"
@session.click_link "A link with data-method"
@session.body.should include('Not deleted')
end
it "should use data-method if available even if it's capitalized" do
@session.driver.options[:respect_data_method] = true
@session.visit "/with_html"
@session.click_link "A link with capitalized data-method"
@session.body.should include('The requested object was deleted')
end
after do
@session.driver.options[:respect_data_method] = false
end
end
describe "#attach_file" do
context "with multipart form" do
it "should submit an empty form-data section if no file is submitted" do
@session.visit("/form")
@session.click_button("Upload Empty")
@session.body.should include('Successfully ignored empty file field.')
end
end
end
it_should_behave_like "session"
it_should_behave_like "session without javascript support"
it_should_behave_like "session without screenshot support"
it_should_behave_like "session with headers support"
it_should_behave_like "session with status code support"
end
end