Sha256: 8d8fe7ee85ccb34c1b0b37c6ef4d41c9dab4a0a83dcb290f1c4d41dba15093d8

Contents?: true

Size: 1.65 KB

Versions: 16

Compression:

Stored size: 1.65 KB

Contents

require 'spec_helper'

require_relative '../../../../../lib/locomotive/steam/adapters/filesystem/yaml_loader.rb'
require_relative '../../../../../lib/locomotive/steam/adapters/filesystem/yaml_loaders/page.rb'

describe Locomotive::Steam::Adapters::Filesystem::YAMLLoaders::Page do

  let(:site_path) { default_fixture_site_path }
  let(:loader)    { described_class.new(site_path) }

  describe '#load' do

    let(:scope) { instance_double('Scope', locale: :fr, default_locale: :en, locales: [:en, :fr]) }

    subject { loader.load(scope).sort { |a, b| a[:_fullpath] <=> b[:_fullpath] } }

    it 'tests various stuff' do
      expect(subject.size).to eq 35
      expect(subject.first[:title]).to eq(en: 'Page not found', fr: 'Page non trouvée')
      expect(subject[23][:is_layout]).to eq true
      expect(subject[23][:listed]).to eq false
      expect(subject[23][:published]).to eq false
      expect(subject[24][:slug]).to eq(en: 'music', fr: 'notre-musique')
      expect(subject[25][:_fullpath]).to eq 'songs'
      expect(subject[25][:template_path]).to eq(en: false)
    end

    context 'a different environment' do

      let(:env)     { :production }
      let(:loader)  { described_class.new(site_path, env) }

      it 'completes the data with the ones from the production environment' do
        expect(subject.size).to eq 36
        expect(subject[21][:title]).to eq(en: 'Home page', fr: "Ma page d'accueil en production")
      end

      describe 'invalid json' do

        let(:env) { :staging }

        it 'raises a parsing exception' do
          expect { subject }.to raise_exception(Locomotive::Steam::JsonParsingError)
        end

      end

    end

  end

end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
locomotivecms_steam-1.8.0.alpha2 spec/unit/adapters/filesystem/yaml_loaders/page_spec.rb
locomotivecms_steam-1.8.0.alpha1 spec/unit/adapters/filesystem/yaml_loaders/page_spec.rb
locomotivecms_steam-1.7.1 spec/unit/adapters/filesystem/yaml_loaders/page_spec.rb
locomotivecms_steam-1.7.0 spec/unit/adapters/filesystem/yaml_loaders/page_spec.rb
locomotivecms_steam-1.6.1 spec/unit/adapters/filesystem/yaml_loaders/page_spec.rb
locomotivecms_steam-1.6.0 spec/unit/adapters/filesystem/yaml_loaders/page_spec.rb
locomotivecms_steam-1.6.0.rc1 spec/unit/adapters/filesystem/yaml_loaders/page_spec.rb
locomotivecms_steam-1.6.0.beta1 spec/unit/adapters/filesystem/yaml_loaders/page_spec.rb
locomotivecms_steam-1.5.3 spec/unit/adapters/filesystem/yaml_loaders/page_spec.rb
locomotivecms_steam-1.5.2 spec/unit/adapters/filesystem/yaml_loaders/page_spec.rb
locomotivecms_steam-1.5.1 spec/unit/adapters/filesystem/yaml_loaders/page_spec.rb
locomotivecms_steam-1.5.0 spec/unit/adapters/filesystem/yaml_loaders/page_spec.rb
locomotivecms_steam-1.5.0.rc1 spec/unit/adapters/filesystem/yaml_loaders/page_spec.rb
locomotivecms_steam-1.5.0.rc0 spec/unit/adapters/filesystem/yaml_loaders/page_spec.rb
locomotivecms_steam-1.5.0.beta3 spec/unit/adapters/filesystem/yaml_loaders/page_spec.rb
locomotivecms_steam-1.5.0.beta2 spec/unit/adapters/filesystem/yaml_loaders/page_spec.rb