CapybaraSelect2 for select2 version 2/3/4

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 select2 helper should be loaded automatically

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

Configuration

CapybaraSelect2 expects select2 version 4 by default. If you are using version 3 or 2 please specify it in your spec helper

CapybaraSelect2::Config.select2_version = 3

# or

CapybaraSelect2.configure do |config|
  config.select2_version = 3
end

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

Contributing

  1. Add a test case which covers the bug
  2. Add code which makes the test green
  3. Open pull request

License

The gem is available as open source under the terms of the MIT License.