Module: Capybara::ScopesPicker
- Includes:
- DataPicker
- Defined in:
- lib/decidim/dev/test/rspec_support/capybara_scopes_picker.rb
Instance Method Summary collapse
- #scope_pick(scope_picker, scope) ⇒ Object
- #scope_repick(scope_picker, old_scope, new_scope) ⇒ Object
- #scope_unpick(scope_picker, scope) ⇒ Object
Methods included from DataPicker
Instance Method Details
#scope_pick(scope_picker, scope) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/decidim/dev/test/rspec_support/capybara_scopes_picker.rb', line 27 def scope_pick(scope_picker, scope) data_picker = scope_picker.data_picker # use scope_repick to change single scope picker selected scope expect(data_picker).to have_selector(".picker-values:empty", visible: false) if data_picker.has_css?(".picker-single") expect(data_picker).to have_selector(".picker-prompt") data_picker.find(".picker-prompt").click scope_picker_browse_scopes(scope.part_of_scopes) if scope data_picker_pick_current expect(scope_picker).to have_scope_picked(scope) end |
#scope_repick(scope_picker, old_scope, new_scope) ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/decidim/dev/test/rspec_support/capybara_scopes_picker.rb', line 41 def scope_repick(scope_picker, old_scope, new_scope) data_picker = scope_picker.data_picker expect(data_picker).to have_selector(".picker-values div input[value='#{old_scope&.id || scope_picker.global_value}']", visible: false) data_picker.find(:xpath, "//div[contains(@class,'picker-values')]/div/input[@value='#{old_scope&.id || scope_picker.global_value}']/../a").click # browse to lowest common parent between old and new scope parent_scope = (old_scope.part_of_scopes & new_scope.part_of_scopes).last scope_picker_browse_scope(parent_scope, back: true) scope_picker_browse_scopes(new_scope.part_of_scopes - old_scope.part_of_scopes) data_picker_pick_current expect(scope_picker).to have_scope_picked(new_scope) end |
#scope_unpick(scope_picker, scope) ⇒ Object
57 58 59 60 61 62 63 64 |
# File 'lib/decidim/dev/test/rspec_support/capybara_scopes_picker.rb', line 57 def scope_unpick(scope_picker, scope) data_picker = scope_picker.data_picker expect(data_picker).to have_selector(".picker-values div input[value='#{scope&.id || scope_picker.global_value}']", visible: false) data_picker.find(".picker-values div input[value='#{scope&.id || scope_picker.global_value}']").click expect(scope_picker).to have_scope_not_picked(scope) end |