Sha256: 7a087d6a385da3c6931011e00d588d30240053724a1c1c4d3b6d1b8e19484c09
Contents?: true
Size: 1.22 KB
Versions: 2
Compression:
Stored size: 1.22 KB
Contents
require 'rails_helper' class Transformer def initialize(content:, key:) @content = content @key = key end # Must return content. def transform @content.gsub("Amazon", "Etsy") end class << self def transforms?(key:) key == :advert_header end end end describe SnippetPresenter do describe "with a transform class" do let(:code) { "<p>Buy this from Amazon.</p>" } let(:view) { ActionController::Base.new.view_context } subject(:header_presenter) { described_class.new(view: view, key: :advert_header) } subject(:footer_presenter) { described_class.new(view: view, key: :advert_footer) } describe "#call" do before do ENV["TRANSFORM"] = "1" SnippetStoreService.update(snippet_key(:advert_header), code) SnippetStoreService.update(snippet_key(:advert_footer), code) end it "transforms the content" do expect(header_presenter.call).to eq("<div class=\"snippet advert_header\"><p>Buy this from Etsy.</p></div>") end it "does not transform the content if key is not allowed" do expect(footer_presenter.call).to eq("<div class=\"snippet advert_footer\"><p>Buy this from Amazon.</p></div>") end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
redis_snippets-1.0.2 | spec/app/presenters/snippet_presenter_transform_spec.rb |
redis_snippets-1.0.1 | spec/app/presenters/snippet_presenter_transform_spec.rb |