Sha256: 64012e2ebf9dfabf8dcd450d12553bb481a3da626465e72f799e8243b64c8db4

Contents?: true

Size: 1.44 KB

Versions: 25

Compression:

Stored size: 1.44 KB

Contents

# frozen_string_literal: true

require "spec_helper"

describe NilClass do

  describe "#__add__" do

    it "returns the object" do
      expect(nil.__add__(1)).to eq(1)
    end
  end

  describe "#__evolve_date__" do

    it "returns nil" do
      expect(nil.__evolve_date__).to be_nil
    end
  end

  describe "#__evolve_time__" do

    it "returns nil" do
      expect(nil.__evolve_time__).to be_nil
    end
  end

  describe "#__intersect__" do

    context "when provided a non enumerable" do

      it "returns the object" do
        expect(nil.__intersect__(1)).to eq(1)
      end
    end

    context "when provided an array" do

      it "returns the array" do
        expect(nil.__intersect__([ 1, 2 ])).to eq([ 1, 2 ])
      end
    end

    context "when provided a hash" do

      it "returns the hash" do
        expect(nil.__intersect__({ "$in" => [ 1, 2 ] })).to eq(
          { "$in" => [ 1, 2 ] }
        )
      end
    end
  end

  describe "#__union__" do

    context "when provided a non enumerable" do

      it "returns the object" do
        expect(nil.__union__(1)).to eq(1)
      end
    end

    context "when provided an array" do

      it "returns the array" do
        expect(nil.__union__([ 1, 2 ])).to eq([ 1, 2 ])
      end
    end

    context "when provided a hash" do

      it "returns the hash" do
        expect(nil.__union__({ "$in" => [ 1, 2 ] })).to eq(
          { "$in" => [ 1, 2 ] }
        )
      end
    end
  end
end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
mongoid-7.4.3 spec/mongoid/criteria/queryable/extensions/nil_class_spec.rb
mongoid-8.0.1 spec/mongoid/criteria/queryable/extensions/nil_class_spec.rb
mongoid-7.5.0 spec/mongoid/criteria/queryable/extensions/nil_class_spec.rb
mongoid-7.4.1 spec/mongoid/criteria/queryable/extensions/nil_class_spec.rb
mongoid-7.4.0 spec/mongoid/criteria/queryable/extensions/nil_class_spec.rb