Sha256: 90cdc98ad1128552f43c6b3f4b42fddaa9645e376c9bd4f340f1db9bfcd21cc2

Contents?: true

Size: 1.05 KB

Versions: 42

Compression:

Stored size: 1.05 KB

Contents

require "spec_helper"

describe Mongoid::Matchable::Nin do

  describe "#matches?" do

    context 'when the attribute is not nil' do

    let(:matcher) do
      described_class.new("first")
    end

      context "when the values do not contain the attribute" do

        it "returns true" do
          expect(matcher.matches?("$nin" => ["second", "third"])).to be true
        end
      end

      context "when the values contain the attribute" do

        it "returns false" do
          expect(matcher.matches?("$nin" => ["first"])).to be false
        end
      end
    end

    context 'when the attribute is nil' do
      let(:matcher) do
        described_class.new(nil)
      end

      context "when the values do not contain the attribute" do

        it "returns true" do
          expect(matcher.matches?("$nin" => ["third"])).to be true
        end
      end

      context "when the values contain the attribute" do

        it "returns false" do
          expect(matcher.matches?("$nin" => [/\Afir.*\z/, nil])).to be false
        end
      end
    end
  end
end

Version data entries

42 entries across 38 versions & 3 rubygems

Version Path
mongoid-4.0.0.alpha2 spec/mongoid/matchable/nin_spec.rb
mongoid-4.0.0.alpha1 spec/mongoid/matchable/nin_spec.rb