Expect page to have a link... an exact link
Sometimes, while writing integration tests, we expect there to not be a link on a page, for instance if our page looked like this:
<a href="#create_jetpack">Create Jetpack</a>
And we want to make sure there is no general create link so we expect this:
expect(page).to_not have_link('Create')
But the expectation fails! By default capybara will match if the substring is anywhere in the content.
To avoid this problem use the exact flag like:
expect(page).to_not have_link('Create', exact: true)
Tweet