Sha256: 009e0d15c2b5491a9e2b26a0a47c27df6e9636fe053550849cef03f63c827142

Contents?: true

Size: 1.97 KB

Versions: 28

Compression:

Stored size: 1.97 KB

Contents

# frozen_string_literal: true

require "spec_helper"

# users of this test should delare the `subject` variable.
shared_examples "with endorsable permissions can perform actions related to endorsable" do
  let(:action_subject) { :endorsement }
  let(:resource) { create :dummy_resource }
  before do
    context[:current_settings] = double(current_settings)
    context[:resource] = resource
  end

  describe "endorsing" do
    describe "when endorsing" do
      let(:action_name) { :create }

      context "when endorsements are disabled" do
        let(:current_settings) do
          {
            endorsements_enabled: false,
            endorsements_blocked: false
          }
        end

        it { is_expected.to eq false }
      end

      context "when endorsements are blocked" do
        let(:current_settings) do
          {
            endorsements_enabled: true,
            endorsements_blocked: true
          }
        end

        it { is_expected.to eq false }
      end

      context "when user is authorized" do
        let(:current_settings) do
          {
            endorsements_enabled: true,
            endorsements_blocked: false
          }
        end

        it { is_expected.to eq true }
      end
    end
  end

  describe "unendorsing" do
    let(:action_name) { :unendorse }

    context "when endorsements are disabled" do
      let(:current_settings) do
        {
          endorsements_enabled: false,
          endorsements_blocked: false
        }
      end

      it { is_expected.to eq false }
    end

    context "when endorsements are blocked" do
      let(:current_settings) do
        {
          endorsements_enabled: true,
          endorsements_blocked: true
        }
      end

      it { is_expected.to eq false }
    end

    context "when user is authorized" do
      let(:current_settings) do
        {
          endorsements_enabled: true,
          endorsements_blocked: false
        }
      end

      it { is_expected.to eq true }
    end
  end
end

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
decidim-core-0.27.0.rc1 lib/decidim/core/test/shared_examples/with_endorsable_permissions_examples.rb
decidim-core-0.26.2 lib/decidim/core/test/shared_examples/with_endorsable_permissions_examples.rb
decidim-core-0.26.1 lib/decidim/core/test/shared_examples/with_endorsable_permissions_examples.rb
decidim-core-0.26.0 lib/decidim/core/test/shared_examples/with_endorsable_permissions_examples.rb
decidim-core-0.26.0.rc2 lib/decidim/core/test/shared_examples/with_endorsable_permissions_examples.rb
decidim-core-0.26.0.rc1 lib/decidim/core/test/shared_examples/with_endorsable_permissions_examples.rb
decidim-core-0.25.2 lib/decidim/core/test/shared_examples/with_endorsable_permissions_examples.rb
decidim-core-0.25.1 lib/decidim/core/test/shared_examples/with_endorsable_permissions_examples.rb
decidim-core-0.25.0 lib/decidim/core/test/shared_examples/with_endorsable_permissions_examples.rb
decidim-core-0.25.0.rc4 lib/decidim/core/test/shared_examples/with_endorsable_permissions_examples.rb
decidim-core-0.25.0.rc3 lib/decidim/core/test/shared_examples/with_endorsable_permissions_examples.rb
decidim-core-0.25.0.rc2 lib/decidim/core/test/shared_examples/with_endorsable_permissions_examples.rb
decidim-core-0.25.0.rc1 lib/decidim/core/test/shared_examples/with_endorsable_permissions_examples.rb
decidim-core-0.24.3 lib/decidim/core/test/shared_examples/with_endorsable_permissions_examples.rb
decidim-core-0.23.6 lib/decidim/core/test/shared_examples/with_endorsable_permissions_examples.rb
decidim-core-0.24.2 lib/decidim/core/test/shared_examples/with_endorsable_permissions_examples.rb
decidim-core-0.23.5 lib/decidim/core/test/shared_examples/with_endorsable_permissions_examples.rb
decidim-core-0.24.1 lib/decidim/core/test/shared_examples/with_endorsable_permissions_examples.rb
decidim-core-0.24.0 lib/decidim/core/test/shared_examples/with_endorsable_permissions_examples.rb
decidim-core-0.24.0.rc2 lib/decidim/core/test/shared_examples/with_endorsable_permissions_examples.rb