diff --git a/lib/use_case/question/create.rb b/lib/use_case/question/create.rb index 7a5e0f56..7ec5b7fc 100644 --- a/lib/use_case/question/create.rb +++ b/lib/use_case/question/create.rb @@ -72,7 +72,7 @@ module UseCase def filtered?(question) target_user.mute_rules.any? { |rule| rule.applies_to? question } || - (anonymous && target_user.anonymous_blocks.where(identifier: question.author_identifier).any?) + (anonymous && AnonymousBlock.where(identifier: question.author_identifier, user_id: [target_user.id, nil]).any?) end def source_user diff --git a/spec/lib/use_case/question/create_spec.rb b/spec/lib/use_case/question/create_spec.rb index ba7d7f23..79ae1aca 100644 --- a/spec/lib/use_case/question/create_spec.rb +++ b/spec/lib/use_case/question/create_spec.rb @@ -79,6 +79,18 @@ describe UseCase::Question::Create do it_behaves_like "creates the question", false end + + context "question is from an anon who is blocked globally" do + before do + AnonymousBlock.create!( + identifier: author_identifier, + question_id: FactoryBot.create(:question).id, + user_id: nil + ) + end + + it_behaves_like "creates the question", false + end end context "user signed in" do