Sha256: 27b2d47fbe886ecdd5da05157b8f0a8dbf4efff2c57c0dbe352bcd41ed5edfbd

Contents?: true

Size: 1.06 KB

Versions: 4

Compression:

Stored size: 1.06 KB

Contents

module Ddr::Index
  RSpec.describe QueryValue do

    describe ".or_values" do
      describe "when argument is nil" do
        it "raises an exception" do
          expect { described_class.or_values(nil) }.to raise_error(ArgumentError)
        end
      end
      describe "when argument is empty" do
        it "raises an exception" do
          expect { described_class.or_values([]) }.to raise_error(ArgumentError)
        end
      end
      describe "when argument is not enumerable" do
        it "raises an exception" do
          expect { described_class.or_values("foo") }.to raise_error(ArgumentError)
        end
      end
      describe "when argument size == 1" do
        it "returns the first value, escaped" do
          expect(described_class.or_values(["foo:bar"])).to eq("(foo\\:bar)")
        end
      end
      describe "when argument size > 1" do
        it "return the escaped values OR'd together in parentheses" do
          expect(described_class.or_values(["foo:bar", "spam:eggs"])).to eq("(foo\\:bar OR spam\\:eggs)")
        end
      end
    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ddr-models-2.4.0.rc4 spec/index/query_value_spec.rb
ddr-models-2.4.0.rc3 spec/index/query_value_spec.rb
ddr-models-2.4.0.rc2 spec/index/query_value_spec.rb
ddr-models-2.4.0.rc1 spec/index/query_value_spec.rb