Sha256: ce44d47304eb8c667b9dd6f65bc8d040ab6dadd58a23a3645689793cd0a13f02

Contents?: true

Size: 1.83 KB

Versions: 18

Compression:

Stored size: 1.83 KB

Contents

require 'spec_helper'

describe 'alchemy/essences/_essence_text_view' do
  let(:essence) { Alchemy::EssenceText.new(body: 'Hello World') }
  let(:content) { Alchemy::Content.new(essence: essence) }

  context 'with blank link value' do
    it "only renders the ingredient" do
      render content, content: content
      expect(rendered).to have_content('Hello World')
      expect(rendered).to_not have_selector('a')
    end
  end

  context 'with a link set' do
    let(:essence) { Alchemy::EssenceText.new(body: 'Hello World', link: 'http://google.com', link_title: 'Foo', link_target: 'blank') }

    it "renders the linked ingredient" do
      render content, content: content
      expect(rendered).to have_content('Hello World')
      expect(rendered).to have_selector('a[title="Foo"][target="_blank"][data-link-target="blank"][href="http://google.com"]')
    end

    context 'with html_options given' do
      it "renders the linked with these options" do
        render content, content: content, html_options: {title: 'Bar', class: 'blue'}
        expect(rendered).to have_selector('a.blue[title="Bar"][target="_blank"][data-link-target="blank"]')
      end
    end

    context 'but with options disable_link set to true' do
      it "only renders the ingredient" do
        render content, content: content, options: {disable_link: true}
        expect(rendered).to have_content('Hello World')
        expect(rendered).to_not have_selector('a')
      end
    end

    context 'but with content settings disable_link set to true' do
      before do
        allow(content).to receive(:settings).and_return({disable_link: true})
      end

      it "only renders the ingredient" do
        render content.essence, content: content
        expect(rendered).to have_content('Hello World')
        expect(rendered).to_not have_selector('a')
      end
    end
  end

end

Version data entries

18 entries across 18 versions & 2 rubygems

Version Path
alchemy_cms-3.2.1 spec/views/essences/essence_text_view_spec.rb
alchemy_cms-3.1.3 spec/views/essences/essence_text_view_spec.rb
lc_alchemy_cms-3.2.1 spec/views/essences/essence_text_view_spec.rb
lc_alchemy_cms-3.2.0 spec/views/essences/essence_text_view_spec.rb
alchemy_cms-3.2.0 spec/views/essences/essence_text_view_spec.rb
alchemy_cms-3.2.0.rc1 spec/views/essences/essence_text_view_spec.rb
alchemy_cms-3.2.0.beta spec/views/essences/essence_text_view_spec.rb
alchemy_cms-3.1.1 spec/views/essences/essence_text_view_spec.rb
alchemy_cms-3.1.0 spec/views/essences/essence_text_view_spec.rb
alchemy_cms-3.1.0.rc3 spec/views/essences/essence_text_view_spec.rb
alchemy_cms-3.1.0.rc2 spec/views/essences/essence_text_view_spec.rb
alchemy_cms-3.1.0.rc1 spec/views/essences/essence_text_view_spec.rb
alchemy_cms-3.1.0.beta6 spec/views/essences/essence_text_view_spec.rb
alchemy_cms-3.1.0.beta5 spec/views/essences/essence_text_view_spec.rb
alchemy_cms-3.1.0.beta4 spec/views/essences/essence_text_view_spec.rb
alchemy_cms-3.1.0.beta3 spec/views/essences/essence_text_view_spec.rb
alchemy_cms-3.1.0.beta2 spec/views/essences/essence_text_view_spec.rb
alchemy_cms-3.1.0.beta1 spec/views/essences/essence_text_view_spec.rb