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