Sha256: 79ff3fae7cca3d9e2cc8a89eb958c1b1d5cdf944ca084bcc50214f5d39378001

Contents?: true

Size: 1.36 KB

Versions: 29

Compression:

Stored size: 1.36 KB

Contents

# frozen_string_literal: true

require "spec_helper"

describe Integer do

  describe ".evolve" do

    context "when provided a string" do

      context "when the string is a number" do

        context "when the string is an integer" do

          it "returns an integer" do
            expect(described_class.evolve("1")).to eq(1)
          end
        end

        context "when the string is a float" do

          it "converts it to a float" do
            expect(described_class.evolve("2.23")).to eq(2.23)
          end
        end

        context "when the string ends in ." do

          it "returns an integer" do
            expect(described_class.evolve("2.")).to eq(2)
          end
        end
      end

      context "when the string is not a number" do

        it "returns the string" do
          expect(described_class.evolve("testing")).to eq("testing")
        end
      end
    end
  end

  context "when provided a number" do

    context "when the number is an integer" do

      it "returns an integer" do
        expect(described_class.evolve(1)).to eq(1)
      end
    end

    context "when the number is a float" do

      it "returns the float" do
        expect(described_class.evolve(2.23)).to eq(2.23)
      end
    end
  end

  context "when provided nil" do

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

Version data entries

29 entries across 29 versions & 1 rubygems

Version Path
mongoid-8.0.10 spec/mongoid/criteria/queryable/extensions/integer_spec.rb
mongoid-8.1.10 spec/mongoid/criteria/queryable/extensions/integer_spec.rb
mongoid-8.1.9 spec/mongoid/criteria/queryable/extensions/integer_spec.rb
mongoid-8.0.9 spec/mongoid/criteria/queryable/extensions/integer_spec.rb
mongoid-8.1.8 spec/mongoid/criteria/queryable/extensions/integer_spec.rb
mongoid-8.1.7 spec/mongoid/criteria/queryable/extensions/integer_spec.rb
mongoid-8.1.6 spec/mongoid/criteria/queryable/extensions/integer_spec.rb
mongoid-8.0.8 spec/mongoid/criteria/queryable/extensions/integer_spec.rb
mongoid-8.1.5 spec/mongoid/criteria/queryable/extensions/integer_spec.rb
mongoid-8.1.4 spec/mongoid/criteria/queryable/extensions/integer_spec.rb
mongoid-8.0.7 spec/mongoid/criteria/queryable/extensions/integer_spec.rb
mongoid-8.1.3 spec/mongoid/criteria/queryable/extensions/integer_spec.rb
mongoid-8.1.2 spec/mongoid/criteria/queryable/extensions/integer_spec.rb
mongoid-8.0.6 spec/mongoid/criteria/queryable/extensions/integer_spec.rb
mongoid-7.5.4 spec/mongoid/criteria/queryable/extensions/integer_spec.rb
mongoid-8.1.1 spec/mongoid/criteria/queryable/extensions/integer_spec.rb
mongoid-8.0.5 spec/mongoid/criteria/queryable/extensions/integer_spec.rb
mongoid-8.1.0 spec/mongoid/criteria/queryable/extensions/integer_spec.rb
mongoid-7.5.3 spec/mongoid/criteria/queryable/extensions/integer_spec.rb
mongoid-8.0.4 spec/mongoid/criteria/queryable/extensions/integer_spec.rb