Sha256: 851f2ea2da6346ba59b85f156c57603ca52824fcdb507f9d1d0618f25a4db376
Contents?: true
Size: 1.85 KB
Versions: 19
Compression:
Stored size: 1.85 KB
Contents
require 'spec_helper' describe Locomotive::Steam::Liquid::Drops::Site do let(:services) { Locomotive::Steam::Services.build_instance } let(:context) { ::Liquid::Context.new({}, {}, { services: services }) } let(:site) { instance_double('Site', handle: 'locomotive', name: 'Locomotive', domains: ['acme.org'], seo_title: 'seo title', meta_keywords: 'keywords', meta_description: 'description', localized_attributes: {}, asset_host: 'http://asset.dev') } let(:drop) { described_class.new(site).tap { |d| d.context = context } } subject { drop } it 'gives access to general attributes' do expect(subject.name).to eq 'Locomotive' expect(subject.handle).to eq 'locomotive' expect(subject.seo_title).to eq 'seo title' expect(subject.meta_keywords).to eq 'keywords' expect(subject.meta_description).to eq 'description' expect(subject.domains).to eq ['acme.org'] expect(subject.asset_host).to eq 'http://asset.dev' end describe '#index' do let(:index) { instance_double('IndexPage', to_liquid: { 'title' => 'Home page' }) } before do allow(services.repositories.page).to receive(:root).and_return(index) end it { expect(subject.index).to eq({ 'title' => 'Home page' }) } end describe '#pages' do let(:pages) do [ instance_double('AboutUsPage', to_liquid: { 'title' => 'About us' }), instance_double('ContactPage', to_liquid: { 'title' => 'Contact' }) ] end before do allow(services.repositories.page).to receive(:all).and_return(pages) end it { expect(subject.pages).to eq([{ 'title' => 'About us' }, { 'title' => 'Contact' }]) } it "doesn't memoize it" do subject.pages allow(services.repositories.page).to receive(:all).and_return([pages.first]) expect(subject.pages).to eq([{ 'title' => 'About us' }]) end end end
Version data entries
19 entries across 19 versions & 1 rubygems