CapybaraSelect2 for select2 version 2/3/4
!!! CapybaraSelect2 detects select2 version automatically
Installation
Add this line to your application's Gemfile:
group :test do
gem 'capybara-select-2'
end
And then execute:
$ bundle
Or install it yourself as:
$ gem install capybara-select-2
[Note] In the projects which use RSpec or Cucumber, the select2
helper is available out of the box
Manual installation with Minitest
In your application_system_test_case.rb
class ApplicationSystemTestCase < ActionDispatch::SystemTestCase
include CapybaraSelect2::Helpers
end
Manual installation with Rspec
In your spec_helper.rb
RSpec.configure do |config|
config.include CapybaraSelect2
end
Manual installation with Cucumber
In your env.rb
World CapybaraSelect2
Usage
Select from a node containing select2 control
Identified by CSS selector
select2 'Buy Milk', css: '#todo'
Identified by XPath selector
select2 'Buy Milk', xpath: '//div[@id="todo"]'
Select from select2 control identified by label
select2 'Buy Milk', from: 'Things to do'
If you want to search for an option (via Ajax for example)
select2 'Buy Milk', from: 'Things to do', search: true
Dynamically create an option from search input
select2 'Millennials', from: 'Generations', tag: true
Select several options at once
select2 'Buy Milk', 'Go to gym', css: '#todo'
Add match strategy in case of ambiguous results
select2 'Buy Milk', from: 'Things to do', search: true, match: :first
Check for select2 option on the page
expect(page).to have_select2_option('Buy Milk')
Contributing
- Add a test case which covers the bug
- Add code which makes the test green
- Open pull request
License
The gem is available as open source under the terms of the MIT License.