spec/helpers/title_helper_spec.rb in title-0.0.7 vs spec/helpers/title_helper_spec.rb in title-0.0.8
- old
+ new
@@ -35,32 +35,42 @@
it 'can use view assigns' do
stub_rails
stub_controller_and_action(:users, :show)
load_translations(users: { show: '%{name}' })
- helper.stub_chain(:controller, :view_assigns).and_return('name' => 'Caleb')
+ allow(helper).to receive_message_chain(:controller, :view_assigns).and_return('name' => 'Caleb')
expect(helper.title).to eq('Caleb')
end
it 'can accept a hash of extra context in addition to the view assigns' do
stub_rails
stub_controller_and_action(:users, :show)
load_translations(users: { show: '%{greeting} %{name}' })
- helper.stub_chain(:controller, :view_assigns).and_return('name' => 'Caleb')
+ allow(helper).to receive_message_chain(:controller, :view_assigns).and_return('name' => 'Caleb')
expect(helper.title(greeting: 'Hello')).to eq('Hello Caleb')
end
+ it 'makes context safe to be passed as interpolation options' do
+ stub_rails
+ stub_controller_and_action(:users, :show)
+ load_translations(users: { show: 'User' })
+ allow(helper).to receive_message_chain(:controller, :view_assigns).and_return('scope' => 'Foo')
+
+ expect(helper.title).to eq('User')
+ end
+
def stub_rails
- helper.stub(:controller_path).and_return('dashboards')
- helper.stub(:action_name)
- helper.stub_chain(:controller, :view_assigns).and_return({})
- Rails.stub_chain(:application, :class).and_return('Dummy::Application')
+ allow(helper).to receive(:controller_path).and_return('dashboards')
+ allow(helper).to receive(:action_name)
+ allow(helper).to receive_message_chain(:controller, :view_assigns).and_return({})
+ allow(Rails).to receive_message_chain(:application, :class).and_return('Dummy::Application')
end
def stub_controller_and_action(controller, action)
- helper.stub(controller_path: controller.to_s, action_name: action.to_s)
+ allow(helper).to receive(:controller_path).and_return(controller.to_s)
+ allow(helper).to receive(:action_name).and_return(action.to_s)
end
def helper
@helper ||= Class.new { include Title::TitleHelper }.new
end