about summary refs log tree commit diff
path: root/spec/lib
diff options
context:
space:
mode:
authorClaire <claire.github-309c@sitedethib.com>2022-11-04 20:01:33 +0100
committerGitHub <noreply@github.com>2022-11-04 20:01:33 +0100
commitbb89f83cc06b9665205c62db21163f2ce43d97ed (patch)
treed5c8891073fba03354caf669e6466709c486467d /spec/lib
parent03b991de6c5874f3e7d1b6f6ff70b853b8daf639 (diff)
Fix additional issues with status cache hydration (#19747)
* Spare one SQL query when hydrating polls

* Improve tests

* Fix more discrepancies

* Fix possible crash when the status has no application set
Diffstat (limited to 'spec/lib')
-rw-r--r--spec/lib/status_cache_hydrator_spec.rb26
1 files changed, 19 insertions, 7 deletions
diff --git a/spec/lib/status_cache_hydrator_spec.rb b/spec/lib/status_cache_hydrator_spec.rb
index 873d58464..c9d8d0fe1 100644
--- a/spec/lib/status_cache_hydrator_spec.rb
+++ b/spec/lib/status_cache_hydrator_spec.rb
@@ -11,8 +11,20 @@ describe StatusCacheHydrator do
 
     shared_examples 'shared behavior' do
       context 'when handling a new status' do
+        let(:poll) { Fabricate(:poll) }
+        let(:status) { Fabricate(:status, poll: poll) }
+
+        it 'renders the same attributes as a full render' do
+          expect(subject).to eql(compare_to_hash)
+        end
+      end
+
+      context 'when handling a new status with own poll' do
+        let(:poll) { Fabricate(:poll, account: account) }
+        let(:status) { Fabricate(:status, poll: poll, account: account) }
+
         it 'renders the same attributes as a full render' do
-          expect(subject).to include(compare_to_hash)
+          expect(subject).to eql(compare_to_hash)
         end
       end
 
@@ -26,7 +38,7 @@ describe StatusCacheHydrator do
           end
 
           it 'renders the same attributes as a full render' do
-            expect(subject).to include(compare_to_hash)
+            expect(subject).to eql(compare_to_hash)
           end
         end
 
@@ -36,7 +48,7 @@ describe StatusCacheHydrator do
           end
 
           it 'renders the same attributes as a full render' do
-            expect(subject).to include(compare_to_hash)
+            expect(subject).to eql(compare_to_hash)
           end
         end
 
@@ -48,7 +60,7 @@ describe StatusCacheHydrator do
           end
 
           it 'renders the same attributes as a full render' do
-            expect(subject).to include(compare_to_hash)
+            expect(subject).to eql(compare_to_hash)
           end
         end
 
@@ -62,7 +74,7 @@ describe StatusCacheHydrator do
           end
 
           it 'renders the same attributes as a full render' do
-            expect(subject).to include(compare_to_hash)
+            expect(subject).to eql(compare_to_hash)
           end
         end
 
@@ -71,7 +83,7 @@ describe StatusCacheHydrator do
           let(:reblog) { Fabricate(:status, poll: poll, account: account) }
 
           it 'renders the same attributes as a full render' do
-            expect(subject).to include(compare_to_hash)
+            expect(subject).to eql(compare_to_hash)
           end
         end
 
@@ -84,7 +96,7 @@ describe StatusCacheHydrator do
           end
 
           it 'renders the same attributes as a full render' do
-            expect(subject).to include(compare_to_hash)
+            expect(subject).to eql(compare_to_hash)
           end
         end
       end