about summary refs log tree commit diff
path: root/spec/lib
diff options
context:
space:
mode:
authorClaire <claire.github-309c@sitedethib.com>2022-11-07 19:47:48 +0100
committerGitHub <noreply@github.com>2022-11-07 19:47:48 +0100
commit3114c826a7a6b2b10bff722c59cca57abe7f819f (patch)
tree59075f264236fb22ed9b58f5d946371d17d4bc8b /spec/lib
parent106648b456396cd7b433848dd6608537d5b811f4 (diff)
Fix filter handling in status cache hydration (#19963)
Diffstat (limited to 'spec/lib')
-rw-r--r--spec/lib/status_cache_hydrator_spec.rb24
1 files changed, 24 insertions, 0 deletions
diff --git a/spec/lib/status_cache_hydrator_spec.rb b/spec/lib/status_cache_hydrator_spec.rb
index c9d8d0fe1..5c78de711 100644
--- a/spec/lib/status_cache_hydrator_spec.rb
+++ b/spec/lib/status_cache_hydrator_spec.rb
@@ -28,6 +28,18 @@ describe StatusCacheHydrator do
         end
       end
 
+      context 'when handling a filtered status' do
+        let(:status) { Fabricate(:status, text: 'this toot is about that banned word') }
+
+        before do
+          account.custom_filters.create!(phrase: 'filter1', context: %w(home), action: :hide, keywords_attributes: [{ keyword: 'banned' }, { keyword: 'irrelevant' }])
+        end
+
+        it 'renders the same attributes as a full render' do
+          expect(subject).to eql(compare_to_hash)
+        end
+      end
+
       context 'when handling a reblog' do
         let(:reblog) { Fabricate(:status) }
         let(:status) { Fabricate(:status, reblog: reblog) }
@@ -99,6 +111,18 @@ describe StatusCacheHydrator do
             expect(subject).to eql(compare_to_hash)
           end
         end
+
+        context 'that matches account filters' do
+          let(:reblog) { Fabricate(:status, text: 'this toot is about that banned word') }
+
+          before do
+            account.custom_filters.create!(phrase: 'filter1', context: %w(home), action: :hide, keywords_attributes: [{ keyword: 'banned' }, { keyword: 'irrelevant' }])
+          end
+
+          it 'renders the same attributes as a full render' do
+            expect(subject).to eql(compare_to_hash)
+          end
+        end
       end
     end