Rspec matcher for asserting that this appears_before(that) in rspec request specs
Add this line to your application's Gemfile:
gem 'orderly'
And then execute:
$ bundle
Or install it yourself as:
$ gem install orderly
In an rspec request spec, do
let(:this) { "<li>Andrea</li>" }
let(:that) { "<li>Luis</li>" }
expect(this).to appear_before(that)
# or use capybara elements
this = find('.this')
that = find('.that')
expect(this).to appear_before(that)
To assert that something does not appear before
expect(this).to_not appear_before(that)
By default, appear_before
matches against HTML. If you want to only compare text, use the only_text
-option:
# <dl>
# <dt>First name:</dt>
# <dd>Andrea</dt>
#
# <dt>Last name:</dt>
# <dd>Robbinovich</dt>
# </dl>
expect("First name: Andrea").to appear_before("Last name: Robbinovich", only_text: true)
- Add support for
only_text
-option - Add support for using capybara nodes
- Add support for capybara
within
-blocks
Patches welcome! Submit a pull request.