Sha256: b4fdb91058a96cac27051a703b86415b0e73ffbde4a8cd4bb799ec568ddacec2

Contents?: true

Size: 1.46 KB

Versions: 24

Compression:

Stored size: 1.46 KB

Contents

# encoding: utf-8

require 'spec_helper'

describe Locomotive::Concerns::ContentType::EntryTemplate do

  before { allow_any_instance_of(Locomotive::Site).to receive(:create_default_pages!).and_return(true) }

  let(:entry_template)  { nil }
  let(:content_type)    { build_content_type(entry_template) }

  describe '#valid?' do

    let(:entry_template) { 'Hello world' }

    before { content_type.valid? }

    subject { content_type.errors }

    it { expect(subject.size).to eq 0 }

    context 'wrong template' do

      let(:entry_template) { '{{ foo' }

      it { expect(subject.size).to eq 1 }
      it { expect(subject[:entry_template]).to eq ["Liquid syntax error: Variable '{{' was not properly terminated with regexp: /\\}\\}/"] }

    end

  end

  describe '#render_entry_template' do

    let(:entry_template) { '{{ entry.title }} world' }
    let(:entry)     { content_type.entries.build(title: 'Hello') }
    let(:registers) { { services: Locomotive::Steam::Services.build_instance } }
    let(:context)   { ::Liquid::Context.new({}, { 'entry' => entry }, registers, true) }

    before { content_type.save! }

    subject { content_type.render_entry_template(context) }

    it { expect(subject).to eq 'Hello world' }

  end

  def build_content_type(entry_template)
    build(:content_type, entry_template: entry_template).tap do |content_type|
      content_type.entries_custom_fields.build label: 'Title', type: 'string'
      content_type.valid?
    end
  end

end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
locomotivecms-3.3.0 spec/models/locomotive/concerns/content_type/entry_template_spec.rb
locomotivecms-3.3.0.rc3 spec/models/locomotive/concerns/content_type/entry_template_spec.rb
locomotivecms-3.3.0.rc2 spec/models/locomotive/concerns/content_type/entry_template_spec.rb
locomotivecms-3.1.2 spec/models/locomotive/concerns/content_type/entry_template_spec.rb
locomotivecms-3.2.1 spec/models/locomotive/concerns/content_type/entry_template_spec.rb
locomotivecms-3.3.0.rc1 spec/models/locomotive/concerns/content_type/entry_template_spec.rb
locomotivecms-3.2.0 spec/models/locomotive/concerns/content_type/entry_template_spec.rb
locomotivecms-3.2.0.rc2 spec/models/locomotive/concerns/content_type/entry_template_spec.rb
locomotivecms-3.2.0.rc1 spec/models/locomotive/concerns/content_type/entry_template_spec.rb
locomotivecms-3.1.1 spec/models/locomotive/concerns/content_type/entry_template_spec.rb
locomotivecms-3.1.0 spec/models/locomotive/concerns/content_type/entry_template_spec.rb
locomotivecms-3.1.0.rc3 spec/models/locomotive/concerns/content_type/entry_template_spec.rb
locomotivecms-3.1.0.rc2 spec/models/locomotive/concerns/content_type/entry_template_spec.rb
locomotivecms-3.1.0.rc1 spec/models/locomotive/concerns/content_type/entry_template_spec.rb
locomotivecms-3.0.1 spec/models/locomotive/concerns/content_type/entry_template_spec.rb
locomotivecms-3.0.0 spec/models/locomotive/concerns/content_type/entry_template_spec.rb
locomotivecms-3.0.0.rc7 spec/models/locomotive/concerns/content_type/entry_template_spec.rb
locomotivecms-3.0.0.rc6 spec/models/locomotive/concerns/content_type/entry_template_spec.rb
locomotivecms-3.0.0.rc5 spec/models/locomotive/concerns/content_type/entry_template_spec.rb
locomotivecms-3.0.0.rc4 spec/models/locomotive/concerns/content_type/entry_template_spec.rb