Allow passing :with argument to :be_rendered
We need it in order to check the rendered content.
This commit is contained in:
@@ -17,9 +17,8 @@ describe Shared::LinkListComponent do
|
||||
render_inline Shared::LinkListComponent.new(
|
||||
["Home", "/"], ["Info", "/info"], class: "menu"
|
||||
)
|
||||
list = page.find("body").native.inner_html
|
||||
|
||||
expect(list).to eq '<ul class="menu">' + "\n" +
|
||||
expect(page).to be_rendered with: '<ul class="menu">' + "\n" +
|
||||
'<li><a href="/">Home</a></li>' + "\n" +
|
||||
'<li><a href="/info">Info</a></li>' + "\n</ul>\n"
|
||||
end
|
||||
@@ -28,9 +27,8 @@ describe Shared::LinkListComponent do
|
||||
render_inline Shared::LinkListComponent.new(
|
||||
'<a href="/">Home</a>'.html_safe, ["Info", "/info"], class: "menu"
|
||||
)
|
||||
list = page.find("body").native.inner_html
|
||||
|
||||
expect(list).to eq '<ul class="menu">' + "\n" +
|
||||
expect(page).to be_rendered with: '<ul class="menu">' + "\n" +
|
||||
'<li><a href="/">Home</a></li>' + "\n" +
|
||||
'<li><a href="/info">Info</a></li>' + "\n</ul>\n"
|
||||
end
|
||||
|
||||
@@ -1,6 +1,18 @@
|
||||
RSpec::Matchers.define :be_rendered do
|
||||
RSpec::Matchers.define :be_rendered do |with: nil|
|
||||
match do |page|
|
||||
!page.native.inner_html.empty?
|
||||
if with.nil?
|
||||
!page.native.inner_html.empty?
|
||||
else
|
||||
page.has_css?("body") && page.find("body").native.inner_html == with
|
||||
end
|
||||
end
|
||||
|
||||
failure_message do |page|
|
||||
if page.has_css?("body")
|
||||
"expected page to be rendered with #{with}, but was rendered with #{page.find("body").native.inner_html}"
|
||||
else
|
||||
"expected page to be rendered with #{with}, but was not rendered"
|
||||
end
|
||||
end
|
||||
|
||||
failure_message_when_negated do |page|
|
||||
|
||||
Reference in New Issue
Block a user