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-5.4.1 spec/mongoid/matchable/nin_spec.rb
mongoid-5.4.0 spec/mongoid/matchable/nin_spec.rb
tdiary-5.0.5 vendor/bundle/gems/mongoid-6.1.0/spec/mongoid/matchable/nin_spec.rb
tdiary-5.0.5 vendor/bundle/gems/tdiary-5.0.4/vendor/bundle/gems/mongoid-6.1.0/spec/mongoid/matchable/nin_spec.rb
mongoid-5.2.1 spec/mongoid/matchable/nin_spec.rb
tdiary-5.0.4 vendor/bundle/gems/mongoid-6.1.0/spec/mongoid/matchable/nin_spec.rb
mongoid-6.1.0 spec/mongoid/matchable/nin_spec.rb
mongoid-5.2.0 spec/mongoid/matchable/nin_spec.rb
mongoid-5.2.0.rc0 spec/mongoid/matchable/nin_spec.rb
mongoid-6.1.0.rc0 spec/mongoid/matchable/nin_spec.rb
mongoid-6.0.3 spec/mongoid/matchable/nin_spec.rb
mongoid-5.1.6 spec/mongoid/matchable/nin_spec.rb
mongoid-6.0.2 spec/mongoid/matchable/nin_spec.rb
mongoid-6.0.1 spec/mongoid/matchable/nin_spec.rb
mongoid-5.1.5 spec/mongoid/matchable/nin_spec.rb
mongoid-6.0.0 spec/mongoid/matchable/nin_spec.rb
mongoid-5.1.4 spec/mongoid/matchable/nin_spec.rb
mongoid-6.0.0.rc0 spec/mongoid/matchable/nin_spec.rb
mongoid-6.0.0.beta spec/mongoid/matchable/nin_spec.rb
ish_lib_manager-0.0.1 test/dummy/vendor/bundle/ruby/2.3.0/gems/mongoid-4.0.2/spec/mongoid/matchable/nin_spec.rb