Sha256: 3a9cbc6dd4a41b74ca292bc1e4e07324e6c36295844f1b4c5dd9e6c16bb25096

Contents?: true

Size: 1.3 KB

Versions: 16

Compression:

Stored size: 1.3 KB

Contents

# frozen_string_literal: true

require "spec_helper"

describe Mongoid::Extensions::Symbol do

  describe "#mongoid_id?" do

    context "when the string is id" do

      it "returns true" do
        expect(:id).to be_mongoid_id
      end
    end

    context "when the string is _id" do

      it "returns true" do
        expect(:_id).to be_mongoid_id
      end
    end

    context "when the string contains id" do

      it "returns false" do
        expect(:identity).to_not be_mongoid_id
      end
    end

    context "when the string contains _id" do

      it "returns false" do
        expect(:something_id).to_not be_mongoid_id
      end
    end
  end

  [ :mongoize, :demongoize ].each do |method|

    describe ".mongoize" do

      context "when the object is not a symbol" do

        it "returns the symbol" do
          expect(Symbol.send(method, "test")).to eq(:test)
        end
      end

      context "when the object is nil" do

        it "returns nil" do
          expect(Symbol.send(method, nil)).to be_nil
        end
      end

      context "when the object is uncastable" do

        it "returns nil" do
          expect(Symbol.send(method, [])).to be_nil
        end
      end
    end
  end

  describe "#mongoize" do

    it "returns self" do
      expect(:test.mongoize).to eq(:test)
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
mongoid-8.1.7 spec/mongoid/extensions/symbol_spec.rb
mongoid-8.1.6 spec/mongoid/extensions/symbol_spec.rb
mongoid-8.0.8 spec/mongoid/extensions/symbol_spec.rb
mongoid-8.1.5 spec/mongoid/extensions/symbol_spec.rb
mongoid-8.1.4 spec/mongoid/extensions/symbol_spec.rb
mongoid-8.0.7 spec/mongoid/extensions/symbol_spec.rb
mongoid-8.1.3 spec/mongoid/extensions/symbol_spec.rb
mongoid-8.1.2 spec/mongoid/extensions/symbol_spec.rb
mongoid-8.0.6 spec/mongoid/extensions/symbol_spec.rb
mongoid-8.1.1 spec/mongoid/extensions/symbol_spec.rb
mongoid-8.0.5 spec/mongoid/extensions/symbol_spec.rb
mongoid-8.1.0 spec/mongoid/extensions/symbol_spec.rb
mongoid-8.0.4 spec/mongoid/extensions/symbol_spec.rb
mongoid-8.0.3 spec/mongoid/extensions/symbol_spec.rb
mongoid-8.0.2 spec/mongoid/extensions/symbol_spec.rb
mongoid-8.0.1 spec/mongoid/extensions/symbol_spec.rb