Sha256: 94ccebde7b16115b2f38de39b58b4333c9a5b03f10575d69a508c40abba7f4fc

Contents?: true

Size: 1.21 KB

Versions: 22

Compression:

Stored size: 1.21 KB

Contents

# frozen_string_literal: true

require 'spec_helper'

RSpec.describe Spotlight::CloneTranslatedPageFromLocale do
  subject(:clone) { described_class.call(locale: language.locale, page: page) }

  let(:exhibit) { FactoryBot.create(:exhibit) }
  let!(:page) { FactoryBot.create(:feature_page, exhibit: exhibit) }
  let!(:language) { FactoryBot.create(:language, locale: 'es', exhibit: exhibit) }

  it 'clones the exhibit home page for a particular exhibit' do
    expect(Spotlight::Page.where(locale: 'es')).not_to be_present
    expect { clone.save }.to change(Spotlight::Page, :count).by(1)
    expect(Spotlight::Page.unscope(:order).last.locale).to eq 'es'
  end

  context 'when a translated page already exists for that locale' do
    let(:translated_page) { page.clone_for_locale('es') }

    it 'destroys it first' do
      expect(Spotlight::Page.where(locale: 'es')).not_to be_present
      translated_page.save!
      expect(Spotlight::Page.where(locale: 'es').count).to eq 1
      expect { clone.save! }.to change(Spotlight::Page, :count).by(0) # because it deletes one and adds one
      expect(Spotlight::Page.where(locale: 'es').count).to eq 1
      expect(Spotlight::Page.unscope(:order).last.locale).to eq 'es'
    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
blacklight-spotlight-3.4.0 spec/services/spotlight/clone_translated_page_from_locale_spec.rb
blacklight-spotlight-3.3.0 spec/services/spotlight/clone_translated_page_from_locale_spec.rb
blacklight-spotlight-3.2.0 spec/services/spotlight/clone_translated_page_from_locale_spec.rb
blacklight-spotlight-3.1.0 spec/services/spotlight/clone_translated_page_from_locale_spec.rb
blacklight-spotlight-3.0.3 spec/services/spotlight/clone_translated_page_from_locale_spec.rb
blacklight-spotlight-3.0.2 spec/services/spotlight/clone_translated_page_from_locale_spec.rb
blacklight-spotlight-3.0.1 spec/services/spotlight/clone_translated_page_from_locale_spec.rb
blacklight-spotlight-3.0.0 spec/services/spotlight/clone_translated_page_from_locale_spec.rb
blacklight-spotlight-3.0.0.rc6 spec/services/spotlight/clone_translated_page_from_locale_spec.rb
blacklight-spotlight-3.0.0.rc5 spec/services/spotlight/clone_translated_page_from_locale_spec.rb
blacklight-spotlight-3.0.0.rc4 spec/services/spotlight/clone_translated_page_from_locale_spec.rb
blacklight-spotlight-3.0.0.rc3 spec/services/spotlight/clone_translated_page_from_locale_spec.rb
blacklight-spotlight-3.0.0.rc2 spec/services/spotlight/clone_translated_page_from_locale_spec.rb
blacklight-spotlight-3.0.0.rc1 spec/services/spotlight/clone_translated_page_from_locale_spec.rb
blacklight-spotlight-3.0.0.alpha.10 spec/services/spotlight/clone_translated_page_from_locale_spec.rb
blacklight-spotlight-3.0.0.alpha.9 spec/services/spotlight/clone_translated_page_from_locale_spec.rb
blacklight-spotlight-3.0.0.alpha.8 spec/services/spotlight/clone_translated_page_from_locale_spec.rb
blacklight-spotlight-3.0.0.alpha.7 spec/services/spotlight/clone_translated_page_from_locale_spec.rb
blacklight-spotlight-3.0.0.alpha.6 spec/services/spotlight/clone_translated_page_from_locale_spec.rb
blacklight-spotlight-3.0.0.alpha.5 spec/services/spotlight/clone_translated_page_from_locale_spec.rb