Sha256: 13f6aa4b2d6afc2ba2538b733041f1a0819b95d5f6ee49b2d5e62f281e012d7e

Contents?: true

Size: 1.62 KB

Versions: 14

Compression:

Stored size: 1.62 KB

Contents

# frozen_string_literal: true

require "decidim/dev/test/rspec_support/capybara_data_picker"

module Capybara
  module ProposalsPicker
    include DataPicker

    RSpec::Matchers.define :have_proposals_picked do |expected|
      match do |proposals_picker|
        data_picker = proposals_picker.data_picker

        expected.each do |proposal|
          expect(data_picker).to have_selector(".picker-values div input[value='#{proposal.id}']", visible: :all)
          expect(data_picker).to have_selector(:xpath, "//div[contains(@class,'picker-values')]/div/a[text()[contains(.,\"#{translated(proposal.title)}\")]]")
        end
      end
    end

    RSpec::Matchers.define :have_proposals_not_picked do |expected|
      match do |proposals_picker|
        data_picker = proposals_picker.data_picker

        expected.each do |proposal|
          expect(data_picker).not_to have_selector(".picker-values div input[value='#{proposal.id}']", visible: :all)
          expect(data_picker).not_to have_selector(:xpath, "//div[contains(@class,'picker-values')]/div/a[text()[contains(.,\"#{translated(proposal.title)}\")]]")
        end
      end
    end

    def proposals_pick(proposals_picker, proposals)
      data_picker = proposals_picker.data_picker

      expect(data_picker).to have_selector(".picker-prompt")
      data_picker.find(".picker-prompt").click

      proposals.each do |proposal|
        data_picker_choose_value(proposal.id)
      end
      data_picker_close

      expect(proposals_picker).to have_proposals_picked(proposals)
    end
  end
end

RSpec.configure do |config|
  config.include Capybara::ProposalsPicker, type: :system
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
decidim-proposals-0.24.3 lib/decidim/proposals/test/capybara_proposals_picker.rb
decidim-proposals-0.23.6 lib/decidim/proposals/test/capybara_proposals_picker.rb
decidim-proposals-0.24.2 lib/decidim/proposals/test/capybara_proposals_picker.rb
decidim-proposals-0.23.5 lib/decidim/proposals/test/capybara_proposals_picker.rb
decidim-proposals-0.24.1 lib/decidim/proposals/test/capybara_proposals_picker.rb
decidim-proposals-0.24.0 lib/decidim/proposals/test/capybara_proposals_picker.rb
decidim-proposals-0.24.0.rc2 lib/decidim/proposals/test/capybara_proposals_picker.rb
decidim-proposals-0.23.4 lib/decidim/proposals/test/capybara_proposals_picker.rb
decidim-proposals-0.24.0.rc1 lib/decidim/proposals/test/capybara_proposals_picker.rb
decidim-proposals-0.23.3 lib/decidim/proposals/test/capybara_proposals_picker.rb
decidim-proposals-0.23.2 lib/decidim/proposals/test/capybara_proposals_picker.rb
decidim-proposals-0.23.1 lib/decidim/proposals/test/capybara_proposals_picker.rb
decidim-proposals-0.23.1.rc1 lib/decidim/proposals/test/capybara_proposals_picker.rb
decidim-proposals-0.23.0 lib/decidim/proposals/test/capybara_proposals_picker.rb