Sha256: 0732452fe7cbad002407484552c221daeae875900becf8d78db4e73d2ec2f6c1

Contents?: true

Size: 1.3 KB

Versions: 37

Compression:

Stored size: 1.3 KB

Contents

# frozen_string_literal: true

require "spec_helper"

shared_examples "accessible static pages" do
  let(:organization) do
    create(
      :organization,
      create_static_pages: false,
      force_users_to_authenticate_before_access_organization: true
    )
  end
  let!(:public_pages) { create_list(:static_page, 5, organization: organization, allow_public_access: true) }
  let!(:private_pages) { create_list(:static_page, 5, organization: organization) }
  let(:actual_page_ids) { [] }

  def expect_correct_accessible_static_pages
    expect(actual_page_ids).to match_array(expected_page_ids)
  end

  context "with a user" do
    let(:user) { create(:user, organization: organization) }
    let(:expected_page_ids) { public_pages.pluck(:id) + private_pages.pluck(:id) }

    it { expect_correct_accessible_static_pages }
  end

  context "without a user" do
    let(:user) { nil }
    let(:expected_page_ids) { public_pages.pluck(:id) }

    it { expect_correct_accessible_static_pages }

    context "when the organization does not force users to authenticate" do
      let(:organization) { create(:organization, create_static_pages: false) }
      let(:expected_page_ids) do
        public_pages.pluck(:id) + private_pages.pluck(:id)
      end

      it { expect_correct_accessible_static_pages }
    end
  end
end

Version data entries

37 entries across 37 versions & 1 rubygems

Version Path
decidim-core-0.27.9 lib/decidim/core/test/shared_examples/static_pages_examples.rb
decidim-core-0.27.8 lib/decidim/core/test/shared_examples/static_pages_examples.rb
decidim-core-0.27.7 lib/decidim/core/test/shared_examples/static_pages_examples.rb
decidim-core-0.27.6 lib/decidim/core/test/shared_examples/static_pages_examples.rb
decidim-core-0.26.10 lib/decidim/core/test/shared_examples/static_pages_examples.rb
decidim-core-0.26.9 lib/decidim/core/test/shared_examples/static_pages_examples.rb
decidim-core-0.27.5 lib/decidim/core/test/shared_examples/static_pages_examples.rb
decidim-core-0.26.8 lib/decidim/core/test/shared_examples/static_pages_examples.rb
decidim-core-0.27.4 lib/decidim/core/test/shared_examples/static_pages_examples.rb
decidim-core-0.27.3 lib/decidim/core/test/shared_examples/static_pages_examples.rb
decidim-core-0.26.7 lib/decidim/core/test/shared_examples/static_pages_examples.rb
decidim-core-0.26.5 lib/decidim/core/test/shared_examples/static_pages_examples.rb
decidim-core-0.27.2 lib/decidim/core/test/shared_examples/static_pages_examples.rb
decidim-core-0.27.1 lib/decidim/core/test/shared_examples/static_pages_examples.rb
decidim-core-0.26.4 lib/decidim/core/test/shared_examples/static_pages_examples.rb
decidim-core-0.27.0 lib/decidim/core/test/shared_examples/static_pages_examples.rb
decidim-core-0.26.3 lib/decidim/core/test/shared_examples/static_pages_examples.rb
decidim-core-0.27.0.rc2 lib/decidim/core/test/shared_examples/static_pages_examples.rb
decidim-core-0.27.0.rc1 lib/decidim/core/test/shared_examples/static_pages_examples.rb
decidim-core-0.26.2 lib/decidim/core/test/shared_examples/static_pages_examples.rb