diff --git a/app/services/random_topic_selector.rb b/app/services/random_topic_selector.rb index 1ac2d8500a9..a484c91be15 100644 --- a/app/services/random_topic_selector.rb +++ b/app/services/random_topic_selector.rb @@ -91,4 +91,8 @@ class RandomTopicSelector "random_topic_cache_#{category&.id}" end + def self.clear_cache! + $redis.delete_prefixed(cache_key) + end + end diff --git a/spec/serializers/topic_view_serializer_spec.rb b/spec/serializers/topic_view_serializer_spec.rb index 8a6e27b0561..5b50522b890 100644 --- a/spec/serializers/topic_view_serializer_spec.rb +++ b/spec/serializers/topic_view_serializer_spec.rb @@ -3,7 +3,12 @@ require 'rails_helper' describe TopicViewSerializer do def serialize_topic(topic, user_arg) topic_view = TopicView.new(topic.id, user_arg) - described_class.new(topic_view, scope: Guardian.new(user_arg), root: false).as_json + TopicViewSerializer.new(topic_view, scope: Guardian.new(user_arg), root: false).as_json + end + + before do + # ensure no suggested ids are cached cause that can muck up suggested + RandomTopicSelector.clear_cache! end let(:topic) { Fabricate(:topic) }