From 3d13f6ea0c6cf0022c9fa57c570f93462647dd12 Mon Sep 17 00:00:00 2001
From: "Akihiko Odaki (@fn_aki@pawoo.net)" <akihiko.odaki.4i@stu.hosei.ac.jp>
Date: Mon, 19 Jun 2017 18:31:37 +0900
Subject: [PATCH] Cover Block more (#3837)

---
 spec/models/block_spec.rb | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/spec/models/block_spec.rb b/spec/models/block_spec.rb
index cabb41c3ea..acbdc77f5b 100644
--- a/spec/models/block_spec.rb
+++ b/spec/models/block_spec.rb
@@ -19,4 +19,29 @@ RSpec.describe Block, type: :model do
       expect(block).to model_have_error_on_field(:target_account)
     end
   end
+
+  it 'removes blocking cache after creation' do
+    account = Fabricate(:account)
+    target_account = Fabricate(:account)
+    Rails.cache.write("exclude_account_ids_for:#{account.id}", [])
+    Rails.cache.write("exclude_account_ids_for:#{target_account.id}", [])
+
+    Block.create!(account: account, target_account: target_account)
+
+    expect(Rails.cache.exist?("exclude_account_ids_for:#{account.id}")).to eq false
+    expect(Rails.cache.exist?("exclude_account_ids_for:#{target_account.id}")).to eq false
+  end
+
+  it 'removes blocking cache after destruction' do
+    account = Fabricate(:account)
+    target_account = Fabricate(:account)
+    block = Block.create!(account: account, target_account: target_account)
+    Rails.cache.write("exclude_account_ids_for:#{account.id}", [target_account.id])
+    Rails.cache.write("exclude_account_ids_for:#{target_account.id}", [account.id])
+
+    block.destroy!
+
+    expect(Rails.cache.exist?("exclude_account_ids_for:#{account.id}")).to eq false
+    expect(Rails.cache.exist?("exclude_account_ids_for:#{target_account.id}")).to eq false
+  end
 end
-- 
GitLab