Sha256: ab71d215a49d268957dcecc6ce871d31982a8fd2e61a07212f11813ba9cee85d

Contents?: true

Size: 1.11 KB

Versions: 1

Compression:

Stored size: 1.11 KB

Contents

require "spec_helper"

require "sequel_mapper/deleted_record"

RSpec.describe SequelMapper::DeletedRecord do
  subject(:record) {
    SequelMapper::DeletedRecord.new(namespace, identity, raw_data)
  }

  let(:namespace) { double(:namespace) }

  let(:identity) {
    { id: id }
  }

  let(:raw_data) {
    {
      name: name,
    }
  }

  let(:id) { double(:id) }
  let(:name) { double(:name) }

  describe "#if_delete" do
    it "invokes the callback" do
      expect { |callback|
        record.if_delete(&callback)
      }.to yield_with_args(record)
    end
  end

  describe "#==" do
    context "with another record that deletes" do
      let(:comparitor) {
        record.merge({})
      }

      it "is equal" do
        expect(record.==(comparitor)).to be(true)
      end
    end

    context "with another record that does not delete" do
      let(:comparitor) {
        Class.new(SequelMapper::AbstractRecord) do
          protected
          def operation
            :something_else
          end
        end
      }

      it "is not equal" do
        expect(record.==(comparitor)).to be(false)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
sequel_mapper-0.0.3 spec/sequel_mapper/deleted_record_spec.rb