From 235c4638498f5e2a08ec137555ac02ebd1eb4409 Mon Sep 17 00:00:00 2001 From: Rohan Mitchell Date: Thu, 4 Feb 2016 11:38:09 +1100 Subject: [PATCH] Hide wrapped exception, too --- lib/open_food_network/cached_products_renderer.rb | 4 +++- .../open_food_network/cached_products_renderer_spec.rb | 8 ++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/open_food_network/cached_products_renderer.rb b/lib/open_food_network/cached_products_renderer.rb index ef11dfaba5..eef3d000b2 100644 --- a/lib/open_food_network/cached_products_renderer.rb +++ b/lib/open_food_network/cached_products_renderer.rb @@ -6,6 +6,8 @@ require 'open_food_network/products_renderer' module OpenFoodNetwork class CachedProductsRenderer + class NoProducts < Exception; end + def initialize(distributor, order_cycle) @distributor = distributor @order_cycle = order_cycle @@ -22,7 +24,7 @@ module OpenFoodNetwork end end - raise ProductsRenderer::NoProducts.new if products_json.nil? + raise NoProducts.new if products_json.nil? products_json end diff --git a/spec/lib/open_food_network/cached_products_renderer_spec.rb b/spec/lib/open_food_network/cached_products_renderer_spec.rb index 9983e79e16..a203d66c1d 100644 --- a/spec/lib/open_food_network/cached_products_renderer_spec.rb +++ b/spec/lib/open_food_network/cached_products_renderer_spec.rb @@ -19,7 +19,7 @@ module OpenFoodNetwork it "raises an exception when there are no products" do Rails.cache.write "products-json-#{distributor.id}-#{order_cycle.id}", nil - expect { cpr.products_json }.to raise_error ProductsRenderer::NoProducts + expect { cpr.products_json }.to raise_error CachedProductsRenderer::NoProducts end end @@ -52,18 +52,18 @@ module OpenFoodNetwork before { cpr.stub(:uncached_products_json).and_raise ProductsRenderer::NoProducts } it "raises an error" do - expect { cpr.products_json }.to raise_error ProductsRenderer::NoProducts + expect { cpr.products_json }.to raise_error CachedProductsRenderer::NoProducts end it "caches the products as nil" do - expect { cpr.products_json }.to raise_error ProductsRenderer::NoProducts + expect { cpr.products_json }.to raise_error CachedProductsRenderer::NoProducts expect(cache_present).to be expect(cached_json).to be_nil end it "logs a warning" do cpr.should_receive :log_warning - expect { cpr.products_json }.to raise_error ProductsRenderer::NoProducts + expect { cpr.products_json }.to raise_error CachedProductsRenderer::NoProducts end end end