Sha256: c6bef75a6ffb795ca2c17c78e3445aaacd33fe86ef53e6525c155c918816678b

Contents?: true

Size: 1.21 KB

Versions: 6

Compression:

Stored size: 1.21 KB

Contents

require 'rails_helper'

describe SnippetStoreService do
  let(:defined_key) { SnippetStoreService.advert_header }

  let(:code) { "<p>Hello world.</p>" }

  describe "#update" do
    it "updates the content of a snippet" do
      SnippetStoreService.update(snippet_key(:advert_header), code)

      expect(SnippetStoreService.advert_header).to eq(code)
    end

    it "doesn't allowed undefined keys" do
      expect { SnippetStoreService.update(:advert_sidebar, code) }.to raise_error(UndefinedSnippetsKey)
    end
  end

  describe "#del" do
    it "removes the content of a snippet" do
      SnippetStoreService.update(snippet_key(:advert_header), code)
      SnippetStoreService.del(snippet_key(:advert_header))

      expect(SnippetStoreService.advert_header).to eq(nil)
    end
  end

  describe "#method_missing" do
    it "delegates missing methods to the store" do
      SnippetStoreService.update(snippet_key(:advert_header), code)

      expect(SnippetStoreService.advert_header).to eq(code)
    end

    it "returns nil for defined keys that has not been set" do
      expect(defined_key).to eq(nil)
    end

    it "returns nil for undefined keys" do
      expect(SnippetStoreService.advert_sidebar).to eq(nil)
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
redis_snippets-1.0.5 spec/services/snippet_store_service_spec.rb
redis_snippets-1.0.4 spec/services/snippet_store_service_spec.rb
redis_snippets-1.0.3 spec/services/snippet_store_service_spec.rb
redis_snippets-1.0.2 spec/app/services/snippet_store_service_spec.rb
redis_snippets-1.0.1 spec/app/services/snippet_store_service_spec.rb
redis_snippets-1.0.0 spec/app/services/snippet_store_service_spec.rb