# frozen_string_literal: true RSpec.describe Search do fab!(:topic) { Fabricate(:topic) } fab!(:topic2) { Fabricate(:topic) } fab!(:regular_post) { Fabricate(:post, topic: topic, raw: <<~RAW) } Somewhere over the rainbow but no poll. RAW fab!(:post_with_poll) { Fabricate(:post, topic: topic2, raw: <<~RAW) } Somewhere over the rainbow with a poll. [poll] * Like * Dislike [/poll] RAW before do SearchIndexer.enable Jobs.run_immediately! SearchIndexer.index(topic2, force: true) SearchIndexer.index(topic, force: true) end after { SearchIndexer.disable } context "when using in:polls" do it "displays only posts containing polls" do results = Search.execute("rainbow in:polls", guardian: Guardian.new) expect(results.posts).to contain_exactly(post_with_poll) end end context "when polls are disabled" do it "ignores in:polls filter" do SiteSetting.poll_enabled = false results = Search.execute("rainbow in:polls", guardian: Guardian.new) expect(results.posts).to contain_exactly(regular_post, post_with_poll) end end end