teamcapybara--capybara/spec/session_spec.rb

69 lines
1.6 KiB
Ruby
Raw Normal View History

2009-11-04 22:00:05 +00:00
require File.expand_path('spec_helper', File.dirname(__FILE__))
describe Webcat::Session do
2009-11-04 22:17:17 +00:00
shared_examples_for "session" do
describe '#app' do
it "should remember the application" do
@session.app.should == TestApp
end
end
describe '#visit' do
it "should fetch a response from the driver" do
@session.visit('/')
@session.body.should == 'Hello world!'
@session.visit('/foo')
@session.body.should == 'Another World'
end
end
2009-11-04 22:00:05 +00:00
end
2009-11-04 22:17:17 +00:00
context 'with rack test driver' do
before do
@session = Webcat::Session.new(:rack_test, TestApp)
2009-11-04 22:00:05 +00:00
end
2009-11-04 22:17:17 +00:00
describe '#driver' do
it "should be a rack test driver" do
@session.driver.should be_an_instance_of(Webcat::Driver::RackTest)
end
end
describe '#mode' do
it "should remember the mode" do
@session.mode.should == :rack_test
end
2009-11-04 22:00:05 +00:00
end
2009-11-04 22:17:17 +00:00
it_should_behave_like "session"
2009-11-04 22:00:05 +00:00
end
2009-11-04 22:17:17 +00:00
context 'with culerity driver' do
before do
@session = Webcat::Session.new(:culerity, TestApp)
end
describe '#driver' do
it "should be a rack test driver" do
@session.driver.should be_an_instance_of(Webcat::Driver::Culerity)
end
2009-11-04 22:00:05 +00:00
end
2009-11-04 22:17:17 +00:00
describe '#mode' do
it "should remember the mode" do
@session.mode.should == :culerity
end
end
it_should_behave_like "session"
2009-11-04 22:00:05 +00:00
end
2009-11-04 22:17:17 +00:00
context 'with non-existent driver' do
it "should raise an error" do
running {
Webcat::Session.new(:quox, TestApp).driver
}.should raise_error(Webcat::DriverNotFoundError)
2009-11-04 22:00:05 +00:00
end
end
end