Sha256: 72508b469520bbea87faf6c8b3a6a9fe6e897089304f71608dfceeb50e9cca9b

Contents?: true

Size: 1.38 KB

Versions: 3

Compression:

Stored size: 1.38 KB

Contents

# frozen_string_literal: true

require "spec_helper"

describe "manage a feature's permissions", type: :feature do
  let(:organization) { create(:organization, available_authorizations: ["Decidim::DummyAuthorizationHandler"]) }
  let(:user) { create(:user, :admin, :confirmed, organization: organization) }

  let!(:participatory_process) do
    create(:participatory_process, :with_steps, organization: organization)
  end

  let!(:feature) do
    create(:feature, participatory_process: participatory_process)
  end

  before do
    switch_to_host(organization.host)
    login_as user, scope: :user
    visit decidim_admin.features_path(participatory_process)

    within ".feature-#{feature.id}" do
      page.find(".action-icon--permissions").click
    end
  end

  it "allows setting permissions with json options" do
    within "form.new_feature_permissions" do
      within ".foo-permission" do
        select "Example authorization", from: "feature_permissions_permissions_foo_authorization_handler_name"
        fill_in "feature_permissions_permissions_foo_options", with: '{ "foo": 123 }'
      end
      find("*[type=submit]").click
    end

    expect(page).to have_content("successfully")

    expect(feature.reload.permissions["foo"]).to(
      include(
        "authorization_handler_name" => "decidim/dummy_authorization_handler",
        "options" => { "foo" => 123 }
      )
    )
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
decidim-0.5.1 decidim-admin/spec/features/admin_manages_feature_permissions_spec.rb
decidim-0.5.0 decidim-admin/spec/features/admin_manages_feature_permissions_spec.rb
decidim-0.4.4 decidim-admin/spec/features/admin_manages_feature_permissions_spec.rb