steve
steve

Reputation: 3356

after_request in capybara (in rspec)?

We want to validate after every request that there is no escaped HTML or XSS on the page. In Cucumber, we have an AfterStep that does this (as long as the current page is not the same as the previous page).

Is there any way to do this?

EDIT: See https://gist.github.com/603295 for an example of an old (no longer working) version of what I'm hoping to find.

Upvotes: 1

Views: 403

Answers (2)

steve
steve

Reputation: 3356

This is the best I could come up with, which was pretty close (however, it's still only after every example, not after every request):

In my spec helper, I added something like this:

RSpec.configure do |config|
  config.after(:each, type: :feature) do
    # this is run after each example in Capybara, and I did stuff like
    page.body.should_not match(UNESCAPED_REGEX)
  end
end

Upvotes: 0

MrDanA
MrDanA

Reputation: 11647

Rspec gives you these after hooks:

https://www.relishapp.com/rspec/rspec-core/v/2-0/docs/hooks/before-and-after-hooks

In short:

after(:each)
after(:all)
after(:suite)

Upvotes: 1

Related Questions