From 839a30c70ed22115bf7f0a96fc3d110dd7bd46d4 Mon Sep 17 00:00:00 2001 From: Ben Halpern Date: Fri, 25 Dec 2020 12:02:19 -0500 Subject: [PATCH] Bust sidebar when display ad is updated (#12025) * Bust sidebar when display ad is updated * Fix test --- app/controllers/admin/display_ads_controller.rb | 6 ++++++ spec/requests/admin/display_ads_spec.rb | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/app/controllers/admin/display_ads_controller.rb b/app/controllers/admin/display_ads_controller.rb index c8933b01c..ef72d279a 100644 --- a/app/controllers/admin/display_ads_controller.rb +++ b/app/controllers/admin/display_ads_controller.rb @@ -2,6 +2,8 @@ module Admin class DisplayAdsController < Admin::ApplicationController layout "admin" + after_action :bust_ad_caches, only: %i[create update destroy] + def index @display_ads = DisplayAd.order(id: :desc) .joins(:organization) @@ -66,5 +68,9 @@ module Admin def authorize_admin authorize DisplayAd, :access?, policy_class: InternalPolicy end + + def bust_ad_caches + EdgeCache::BustSidebar.call + end end end diff --git a/spec/requests/admin/display_ads_spec.rb b/spec/requests/admin/display_ads_spec.rb index d015e7398..58c764ef2 100644 --- a/spec/requests/admin/display_ads_spec.rb +++ b/spec/requests/admin/display_ads_spec.rb @@ -50,6 +50,12 @@ RSpec.describe "/admin/display_ads", type: :request do post_resource end.to change { DisplayAd.all.count }.by(1) end + + it "busts sidebar" do + allow(EdgeCache::BustSidebar).to receive(:call) + post_resource + expect(EdgeCache::BustSidebar).to have_received(:call).once + end end describe "PUT /admin/display_ads" do