Sha256: ab07a7ca835e668cb8e5fb4162f55ce1219fea8ba9116cfd0a063e285947e7cb

Contents?: true

Size: 805 Bytes

Versions: 5

Compression:

Stored size: 805 Bytes

Contents

require 'integration_spec_helper'

describe ActiverecordToPoro::MetadataEnabledAr do
  subject{
    User.extend ActiverecordToPoro::MetadataEnabledAr
    User
  }

  let(:ar_object){
    User.create!(name: 'my name', email: 'my_name@example.com')
  }

  let(:metadata){
    ActiverecordToPoro::Metadata.new.tap do |meta|
      meta.initialize_from_ar(ar_object)
    end
  }

  describe '._from_attrs_with_metadata' do
    it 'loads a record from db' do
      new_user = subject._from_attrs_with_metadata({_set_metadata_to_ar: metadata })
      expect(new_user.new_record?).to be_falsy
    end

    it 'uses a precreated object' do
      new_user = subject._from_attrs_with_metadata({_set_metadata_to_ar: metadata }, ar_object)
      expect(new_user.object_id).to eq ar_object.object_id
    end

  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
activerecord_to_poro-0.0.7 spec/integration/lib/activerecord_to_poro/metadata_enabled_ar_spec.rb
activerecord_to_poro-0.0.6 spec/integration/lib/activerecord_to_poro/metadata_enabled_ar_spec.rb
activerecord_to_poro-0.0.5 spec/integration/lib/activerecord_to_poro/metadata_enabled_ar_spec.rb
activerecord_to_poro-0.0.4 spec/integration/lib/activerecord_to_poro/metadata_enabled_ar_spec.rb
activerecord_to_poro-0.0.3 spec/integration/lib/activerecord_to_poro/metadata_enabled_ar_spec.rb