spec/index/query_clause_spec.rb in ddr-models-2.4.0.rc4 vs spec/index/query_clause_spec.rb in ddr-models-2.4.0.rc5
- old
+ new
@@ -1,45 +1,53 @@
module Ddr::Index
RSpec.describe QueryClause do
describe "class methods" do
- describe ".build" do
- subject { QueryClause.build("foo", "bar") }
- it { is_expected.to eq "foo:bar" }
- end
describe ".unique_key" do
- subject { QueryClause.unique_key("test:1") }
- it { is_expected.to eq "{!term f=id}test:1" }
+ subject { described_class.unique_key("test:1") }
+ its(:to_s) { is_expected.to eq "{!term f=id}test:1" }
end
describe ".id" do
- subject { QueryClause.id("test:1") }
- it { is_expected.to eq "{!term f=id}test:1" }
+ subject { described_class.id("test:1") }
+ its(:to_s) { is_expected.to eq "{!term f=id}test:1" }
end
describe ".negative" do
- subject { QueryClause.negative("foo", "bar") }
- it { is_expected.to eq "-foo:bar" }
+ subject { described_class.negative("foo", "Jungle Fever") }
+ its(:to_s) { is_expected.to eq "-foo:\"Jungle Fever\"" }
end
describe ".present" do
- subject { QueryClause.present("foo") }
- it { is_expected.to eq "foo:[* TO *]" }
+ subject { described_class.present("foo") }
+ its(:to_s) { is_expected.to eq "foo:[* TO *]" }
end
describe ".absent" do
- subject { QueryClause.absent("foo") }
- it { is_expected.to eq "-foo:[* TO *]" }
+ subject { described_class.absent("foo") }
+ its(:to_s) { is_expected.to eq "-foo:[* TO *]" }
end
- describe ".or_values" do
- subject { QueryClause.or_values("foo", ["bar", "baz"]) }
- it { is_expected.to eq "foo:(bar OR baz)" }
+ describe ".disjunction" do
+ subject { described_class.disjunction("foo", ["Jungle Fever", "bar"]) }
+ its(:to_s) { is_expected.to eq "{!lucene q.op=OR df=foo}\"Jungle Fever\" bar" }
end
describe ".before" do
-
+ subject { described_class.before("foo", DateTime.parse("2015-12-14T20:40:06Z")) }
+ its(:to_s) { is_expected.to eq "foo:[* TO 2015-12-14T20:40:06Z]" }
end
describe ".before_days" do
- subject { QueryClause.before_days("foo", 5) }
- it { is_expected.to eq "foo:[* TO NOW-5DAYS]" }
+ subject { described_class.before_days("foo", 5) }
+ its(:to_s) { is_expected.to eq "foo:[* TO NOW-5DAYS]" }
end
describe ".term" do
-
+ subject { described_class.term("foo", "bar") }
+ its(:to_s) { is_expected.to eq "{!term f=foo}bar" }
+ end
+ describe ".where" do
+ describe "when the value is a string" do
+ subject { described_class.where("foo", "Jungle Fever") }
+ its(:to_s) { is_expected.to eq "foo:\"Jungle Fever\"" }
+ end
+ describe "when the value is an array" do
+ subject { described_class.where("foo", ["Jungle Fever", "bar"]) }
+ its(:to_s) { is_expected.to eq "{!lucene q.op=OR df=foo}\"Jungle Fever\" bar" }
+ end
end
end
end
end