Sha256: 3e5f0345231b21171cd9c7a0aa64c54a9a8715e2ef24b4ab588c3feb9be8927d

Contents?: true

Size: 1.34 KB

Versions: 19

Compression:

Stored size: 1.34 KB

Contents

# frozen_string_literal: true

RSpec.shared_examples_for "a controller that loads current language" do |args|
  context "when session has current language id key" do
    let!(:site_1) { create(:alchemy_site) }
    let!(:site_1_default_language) { create :alchemy_language, site: site_1, default: true }
    let!(:another_site_1_language) { create :alchemy_language, site: site_1, code: :de }
    let(:site_2) { create :alchemy_site, host: "another.host", languages: [build(:alchemy_language, code: :en), build(:alchemy_language, code: :de)] }

    context "on index action" do
      context "when switching the current site" do
        before do
          session[:alchemy_site_id] = site_1.id
          session[:alchemy_language_id] = another_site_1_language.id
        end

        it "sets @current_language to the new site default language" do
          get :index, params: {site_id: site_2.id}
          expect(assigns(:current_language)).to eq site_2.default_language
        end
      end

      context "when no language to set" do
        it "shows flash warning with redirect" do
          Alchemy::Language.destroy_all
          get :index, params: {site_id: site_1.id}
          expect(flash[:warning]).to eq Alchemy.t("Please create a language first.")
          expect(response).to redirect_to admin_languages_path
        end
      end
    end
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
alchemy_cms-7.4.2 lib/alchemy/test_support/current_language_shared_examples.rb
alchemy_cms-7.3.6 lib/alchemy/test_support/current_language_shared_examples.rb
alchemy_cms-7.2.9 lib/alchemy/test_support/current_language_shared_examples.rb
alchemy_cms-7.4.1 lib/alchemy/test_support/current_language_shared_examples.rb
alchemy_cms-7.4.0 lib/alchemy/test_support/current_language_shared_examples.rb
alchemy_cms-7.3.5 lib/alchemy/test_support/current_language_shared_examples.rb
alchemy_cms-7.2.8 lib/alchemy/test_support/current_language_shared_examples.rb
alchemy_cms-7.1.13 lib/alchemy/test_support/current_language_shared_examples.rb
alchemy_cms-7.3.4 lib/alchemy/test_support/current_language_shared_examples.rb
alchemy_cms-7.3.3 lib/alchemy/test_support/current_language_shared_examples.rb
alchemy_cms-7.3.2 lib/alchemy/test_support/current_language_shared_examples.rb
alchemy_cms-7.2.7 lib/alchemy/test_support/current_language_shared_examples.rb
alchemy_cms-7.3.1 lib/alchemy/test_support/current_language_shared_examples.rb
alchemy_cms-7.3.0 lib/alchemy/test_support/current_language_shared_examples.rb
alchemy_cms-7.2.6 lib/alchemy/test_support/current_language_shared_examples.rb
alchemy_cms-7.2.5 lib/alchemy/test_support/current_language_shared_examples.rb
alchemy_cms-7.1.12 lib/alchemy/test_support/current_language_shared_examples.rb
alchemy_cms-7.2.4 lib/alchemy/test_support/current_language_shared_examples.rb
alchemy_cms-7.1.11 lib/alchemy/test_support/current_language_shared_examples.rb