0
# require 'test_helper' because RubyMate needs help
0
require File.join(File.dirname(__FILE__) , "helpers")
0
+SessionData = "--- \nmoo: cow\n"
0
+describe "An new instance of Waves::Session" do
0
+ FileUtils.mkdir(BasePath) unless File.exist?(BasePath)
0
+ Waves::Session.stub!(:generate_session_id).and_return("fake_session")
0
+ Waves::Session.stub!(:base_path).and_return(BasePath)
0
+ FileUtils.rm Dir["#{BasePath}/fake_session"]
0
+ FileUtils.rmdir BasePath
0
+ it "loads data from a session file if one exists" do
0
+ File.write(BasePath / :fake_session, SessionData)
0
+ @request = Waves::Request.new(env_for)
0
+ session = @request.session
0
+ session.to_hash.should == { 'moo' => 'cow'}
0
+ it "is empty when no session file exists" do
0
+ Waves::Session.stub!(:generate_session_id).and_return("other_session")
0
+ @request = Waves::Request.new(env_for)
0
+ session = @request.session
0
+ session.to_hash.should.be.empty
0
+describe "Session values" do
0
+ Waves::Session.stub!(:base_path).and_return(BasePath)
0
+ @request = Waves::Request.new(env_for)
0
+ it "can be read and written using [] and []=" do
0
+ session = Waves::Session.new(@request)
0
+ session['moo'].should.be.nil
0
+ session['moo'] = 'bull'
0
+ session['moo'].should == 'bull'
Comments
No one has commented yet.