Sha256: d83078ee4acf0ceeb42205dbbe4be72ce0d901cb7e300a2900d2ccd3bf7bbcdc

Contents?: true

Size: 994 Bytes

Versions: 17

Compression:

Stored size: 994 Bytes

Contents

require 'spec_helper'

class Dude
  include CouchPotato::Persistence
  property :name
end

class NoneDude
  include CouchPotato::Persistence
  property :name
end

describe "persistence" do
  context '#eql?' do
    it "should use the class and id for equality" do
      dude22 = Dude.new(:id => "22", :name => "foo")
      dude11 = Dude.new(:id => "11", :name => "bar")

      none_dude22 = NoneDude.new(:id => "22", :name => "foo")

      expect(dude22).to eql(dude22)
      expect(dude22).not_to eql(none_dude22)
      expect(dude22).not_to eql(dude11)
    end

    it "should handle new objects without id to be never equal" do
      dude = Dude.new(:name => "foo")
      dude22 = Dude.new(:id => "22", :name => "foo")

      expect(dude).not_to eql(Dude.new(:name => "foo"))
      expect(dude22).not_to eql(Dude.new(:name => "foo"))
    end

    it "should handle same object references to be equal" do
      dude = Dude.new(:name => "foo")

      expect(dude).to eql(dude)
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
couch_potato-1.18.0 spec/unit/persistence_spec.rb
couch_potato-1.17.0 spec/unit/persistence_spec.rb
couch_potato-1.16.0 spec/unit/persistence_spec.rb
couch_potato-1.15.0 spec/unit/persistence_spec.rb
couch_potato-1.14.0 spec/unit/persistence_spec.rb
couch_potato-1.13.0 spec/unit/persistence_spec.rb
couch_potato-1.12.1 spec/unit/persistence_spec.rb
couch_potato-1.12.0 spec/unit/persistence_spec.rb
couch_potato-1.11.0 spec/unit/persistence_spec.rb
couch_potato-1.10.1 spec/unit/persistence_spec.rb
couch_potato-1.10.0 spec/unit/persistence_spec.rb
couch_potato-1.9.0 spec/unit/persistence_spec.rb
couch_potato-1.7.1 spec/unit/persistence_spec.rb
couch_potato-1.7.0 spec/unit/persistence_spec.rb
couch_potato-1.6.5 spec/unit/persistence_spec.rb
couch_potato-1.6.4 spec/unit/persistence_spec.rb
couch_potato-1.6.3 spec/unit/persistence_spec.rb