Sha256: 451249646be46167439befe257b1f4d785e432ce1217b70b94d643b52e6c4169

Contents?: true

Size: 1.4 KB

Versions: 17

Compression:

Stored size: 1.4 KB

Contents

require 'spec_helper'

describe Locomotive::Steam::Services do

  describe '#build_instance' do

    subject { Locomotive::Steam::Services.build_instance(nil) }

    describe 'configuration with a services hook' do

      before do
        Locomotive::Steam.configure do |config|
          config.services_hook = -> (services) {
            services.repositories = MyService.new
          }
        end
      end

      after { Locomotive::Steam.configure { |c| c.services_hook = nil } }

      it { expect(subject.repositories).to be_instance_of(MyService) }

      describe '#defer' do

        let(:status) { { initialized: false } }

        before do
          Locomotive::Steam.configure do |config|
            config.services_hook = -> (services) {
              services.defer(:repositories) { MyService.new(status) }
            }
          end
        end

        it { subject.repositories; expect(status[:initialized]).to eq false }
        it { subject.repositories.do; expect(status[:initialized]).to eq true }

      end

    end

  end

  describe 'build_simple_instance' do

    let(:site) { instance_double('Site', name: 'My awesome site') }

    subject { Locomotive::Steam::Services.build_simple_instance(site) }

    it { expect(subject.current_site.name).to eq('My awesome site') }

  end

  class MyService
    def initialize(status = {})
      status[:initialized] = true
    end
    def do; end
  end

end

Version data entries

17 entries across 17 versions & 1 rubygems

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