Sha256: 08c2795ed6a1ce3844ef8a2de77f4485dfa11a5b3f880f3336925f117bcfa28d

Contents?: true

Size: 1.07 KB

Versions: 4

Compression:

Stored size: 1.07 KB

Contents

require 'spec_helper'
require 'draper'

describe Draper::ViewContext do
  let (:app_controller) do
    ApplicationController
  end
  
  let (:app_controller_instance) do
    app_controller.new
  end
  
  it "implements #set_current_view_context" do
    app_controller_instance.should respond_to(:set_current_view_context)
  end
  
  it "calls #before_filter with #set_current_view_context" do
    app_controller.before_filters.should include(:set_current_view_context)
  end
  
  it "raises an exception if the view_context is fetched without being set" do
    Thread.current[:current_view_context] = nil
    expect {app_controller.current_view_context}.should raise_exception(Exception)
  end
  
  it "sets view_context every time" do
    app_controller_instance.stub(:view_context) { 'first' }
    app_controller_instance.set_current_view_context
    Thread.current[:current_view_context].should == 'first'
    
    app_controller_instance.stub(:view_context) { 'second' }
    app_controller_instance.set_current_view_context
    Thread.current[:current_view_context].should == 'second'
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
draper-0.9.3 spec/view_context_spec.rb
draper-0.9.2 spec/view_context_spec.rb
draper-0.9.1 spec/view_context_spec.rb
draper-0.9.0 spec/view_context_spec.rb