otwarchive-symphonyarchive/spec/models/search/query_spec.rb

38 lines
1.2 KiB
Ruby
Raw Permalink Normal View History

2026-03-11 22:22:11 +00:00
require 'spec_helper'
describe Query do
describe '#split_query_text_phrases' do
it "should add quoted phrases to a query string" do
q = Query.new
result = q.split_query_text_phrases(:tag, "bork bork bork")
expect(result).to eq(" tag:\"bork bork bork\"")
end
it "should separate phrases by comma" do
q = Query.new
result = q.split_query_text_phrases(:tag, "unicorns, i love turnips")
expect(result).to eq(" tag:\"unicorns\" tag:\"i love turnips\"")
end
end
describe '#split_query_text_words' do
it "should add individual words to a query string" do
q = Query.new
result = q.split_query_text_words(:notes, "carrots celery potato")
expect(result).to eq(" notes:carrots notes:celery notes:potato")
end
it "should replace minuses with NOTs" do
q = Query.new
result = q.split_query_text_words(:hero, "superman -batman")
expect(result).to eq(" hero:superman NOT hero:batman")
end
it "should not touch stand-alone minuses" do
q = Query.new
result = q.split_query_text_words(:title, "foo - bar")
expect(result).to eq(" title:foo title:\\- title:bar")
end
end
end