40 lines
1.3 KiB
Ruby
40 lines
1.3 KiB
Ruby
shared_examples_for "view helpers" do |subject|
|
|
describe "#helpers" do
|
|
it "returns the current view context" do
|
|
allow(Draper::ViewContext).to receive_messages current: :current_view_context
|
|
expect(subject.helpers).to be :current_view_context
|
|
end
|
|
|
|
it "is aliased to #h" do
|
|
allow(Draper::ViewContext).to receive_messages current: :current_view_context
|
|
expect(subject.h).to be :current_view_context
|
|
end
|
|
end
|
|
|
|
describe "#localize" do
|
|
it "delegates to #helpers" do
|
|
allow(subject).to receive(:helpers).and_return(double)
|
|
expect(subject.helpers).to receive(:localize).with(:an_object, some: "parameter")
|
|
subject.localize(:an_object, some: "parameter")
|
|
end
|
|
|
|
it "is aliased to #l" do
|
|
allow(subject).to receive_messages helpers: double
|
|
expect(subject.helpers).to receive(:localize).with(:an_object, some: "parameter")
|
|
subject.l(:an_object, some: "parameter")
|
|
end
|
|
end
|
|
|
|
describe ".helpers" do
|
|
it "returns the current view context" do
|
|
allow(Draper::ViewContext).to receive_messages current: :current_view_context
|
|
expect(subject.class.helpers).to be :current_view_context
|
|
end
|
|
|
|
it "is aliased to .h" do
|
|
allow(Draper::ViewContext).to receive(:current).and_return(:current_view_context)
|
|
expect(subject.class.h).to be :current_view_context
|
|
end
|
|
end
|
|
end
|