Sha256: e34b4b941ea9c2d561afe83660c5c6142d8fa6945223144d786c4a5bf5be096b

Contents?: true

Size: 1.04 KB

Versions: 21

Compression:

Stored size: 1.04 KB

Contents

# frozen_string_literal: true

require "spec_helper"

describe Mongoid::Criteria::Marshalable do
  describe "Marshal.dump" do

    let(:criteria) do
      Band.where(name: "Depeche Mode")
    end

    it "does not error" do
      expect {
        Marshal.dump(criteria)
      }.not_to raise_error
    end
  end

  describe "Marshal.load" do

    let(:criteria) do
      Band.where(name: "Depeche Mode")
    end

    it "loads the proper attributes" do
      expect(Marshal.load(Marshal.dump(criteria))).to eq(criteria)
    end

    context "when it receives driver mongo1x" do
      let(:dump) { Marshal.dump(criteria) }

      before do
        expect_any_instance_of(Mongoid::Criteria).to receive(:marshal_dump).and_wrap_original do |m, *args|
          data = m.call(*args)
          data[1] = :mongo1x
          data
        end
      end

      it "raises an error" do
        expect do
          Marshal.load(dump)
        end.to raise_error(NotImplementedError, /Mongoid no longer supports marshalling with driver version 1.x./)
      end
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
mongoid-8.0.10 spec/mongoid/criteria/marshalable_spec.rb
mongoid-8.1.10 spec/mongoid/criteria/marshalable_spec.rb
mongoid-8.1.9 spec/mongoid/criteria/marshalable_spec.rb
mongoid-8.0.9 spec/mongoid/criteria/marshalable_spec.rb
mongoid-8.1.8 spec/mongoid/criteria/marshalable_spec.rb
mongoid-8.1.7 spec/mongoid/criteria/marshalable_spec.rb
mongoid-8.1.6 spec/mongoid/criteria/marshalable_spec.rb
mongoid-8.0.8 spec/mongoid/criteria/marshalable_spec.rb
mongoid-8.1.5 spec/mongoid/criteria/marshalable_spec.rb
mongoid-8.1.4 spec/mongoid/criteria/marshalable_spec.rb
mongoid-8.0.7 spec/mongoid/criteria/marshalable_spec.rb
mongoid-8.1.3 spec/mongoid/criteria/marshalable_spec.rb
mongoid-8.1.2 spec/mongoid/criteria/marshalable_spec.rb
mongoid-8.0.6 spec/mongoid/criteria/marshalable_spec.rb
mongoid-8.1.1 spec/mongoid/criteria/marshalable_spec.rb
mongoid-8.0.5 spec/mongoid/criteria/marshalable_spec.rb
mongoid-8.1.0 spec/mongoid/criteria/marshalable_spec.rb
mongoid-8.0.4 spec/mongoid/criteria/marshalable_spec.rb
mongoid-8.0.3 spec/mongoid/criteria/marshalable_spec.rb
mongoid-8.0.2 spec/mongoid/criteria/marshalable_spec.rb