Sha256: fca05e09f32598746136c74d25e31332c6f0e2fca32e47bf779feb95db945140

Contents?: true

Size: 1.22 KB

Versions: 9

Compression:

Stored size: 1.22 KB

Contents

# frozen_string_literal: true

require 'spec_helper'

RSpec.describe Spotlight::CloneTranslatedPageFromLocale do
  let(:exhibit) { FactoryBot.create(:exhibit) }
  let!(:page) { FactoryBot.create(:feature_page, exhibit: exhibit) }
  let!(:language) { FactoryBot.create(:language, locale: 'es', exhibit: exhibit) }
  subject(:clone) { described_class.call(locale: language.locale, page: page) }

  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.exists?(translated_page.id)).to be true
      expect { clone.save }.to change(Spotlight::Page, :count).by(0) # because it deletes one and adds one
      expect(Spotlight::Page.exists?(translated_page.id)).to be false
      expect(Spotlight::Page.unscope(:order).last.locale).to eq 'es'
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
blacklight-spotlight-2.0.2 spec/services/spotlight/clone_translated_page_from_locale_spec.rb
blacklight-spotlight-2.0.1 spec/services/spotlight/clone_translated_page_from_locale_spec.rb
blacklight-spotlight-2.0.0 spec/services/spotlight/clone_translated_page_from_locale_spec.rb
blacklight-spotlight-2.0.0.rc6 spec/services/spotlight/clone_translated_page_from_locale_spec.rb
blacklight-spotlight-2.0.0.rc5 spec/services/spotlight/clone_translated_page_from_locale_spec.rb
blacklight-spotlight-2.0.0.rc4 spec/services/spotlight/clone_translated_page_from_locale_spec.rb
blacklight-spotlight-2.0.0.rc3 spec/services/spotlight/clone_translated_page_from_locale_spec.rb
blacklight-spotlight-2.0.0.rc2 spec/services/spotlight/clone_translated_page_from_locale_spec.rb
blacklight-spotlight-2.0.0.rc1 spec/services/spotlight/clone_translated_page_from_locale_spec.rb