Sha256: 98451415f65c59bfedd6ef9468aa2a683018b3c39b7693dcb3df614807e024bf

Contents?: true

Size: 1.63 KB

Versions: 2

Compression:

Stored size: 1.63 KB

Contents

require 'spec_helper'

describe Alephant::Publisher::Writer do
  before(:each) do
    Alephant::Publisher::RenderMapper
      .any_instance
      .stub(:initialize)

      Alephant::Cache
        .any_instance
        .stub(:initialize)
  end

  subject do
    Alephant::Publisher::Writer.new({
      :renderer_id       => 'renderer_id',
      :lookup_table_name => 'lookup_table_name'
    })
  end

  describe "#write(data, version)" do
    before(:each) do
      Alephant::Publisher::RenderMapper
        .any_instance
        .stub(:generate)
        .and_return({
          'component_id' => Struct.new(:render).new('content')
        })

    end

    it "should write the correct lookup location" do
      options = { :key     => :value  }
      data    = { :options => options }

      Alephant::Cache.any_instance
        .stub(:put)

      Alephant::Lookup
        .should_receive(:create)
        .with('lookup_table_name', 'component_id')
        .and_call_original

      Alephant::Lookup::Lookup.any_instance
        .stub(:initialize)

      Alephant::Lookup::Lookup.any_instance
        .should_receive(:write)
        .with(options, 'renderer_id/component_id/42de5e5c6f74b9fe4d956704a6d9e1c7/0')

      subject.write(data, 0)
    end

    it "should put the correct location, content to cache" do
      Alephant::Lookup::Lookup
        .any_instance
        .stub(:initialize)

      Alephant::Lookup::Lookup
        .any_instance
        .stub(:write)

      Alephant::Cache.any_instance
        .should_receive(:put)
        .with('renderer_id/component_id/35589a1cc0b3ca90fc52d0e711c0c434/0', 'content')

      subject.write({}, 0)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
alephant-publisher-0.0.2 spec/writer_spec.rb
alephant-publisher-0.0.1 spec/writer_spec.rb