Sha256: 82a81b565c9993e42c63f65ad10eeec023c3ee451e61748892215996c5c500f5
Contents?: true
Size: 1.57 KB
Versions: 1
Compression:
Stored size: 1.57 KB
Contents
require "acceptance_spec_helper" feature "Map active record objects", %q{ In order to use plain old ruby objects instead of active record objects as a lib user I want to map from active record objects to plain old ruby objects and reverse } do given(:mapper){ ActiverecordToPoro::Converter.new(a_active_record_class) } given(:mapper_with_custom_source){ ActiverecordToPoro::Converter.new(a_active_record_class, load_source: custom_poro_class, except: [:lock_version] ) } given(:a_active_record_class){ User } given(:a_active_record_object){ a_active_record_class.create!(name: "my name", email: "my_name@example.com") } given(:custom_poro_class){ ActiverecordToPoro::DefaultPoroClassBuilder.new(a_active_record_class).() } scenario "creates a poro out of an ActiveRecord object" do expect(mapper.load(a_active_record_object)).not_to be_kind_of ActiveRecord::Base end scenario "creates an ActiveRecord object from a poro object" do poro = mapper.load(a_active_record_object) expect(mapper.dump(poro)).to eq a_active_record_object end scenario "use my own source class for converting ActiveRecord objects" do expect(mapper_with_custom_source.load(a_active_record_object)).to be_kind_of custom_poro_class end scenario 'extend default mapping' do mapper_with_custom_source.extend_mapping do rule to: :lock_version end expect(mapper.load(a_active_record_object).lock_version).to eq a_active_record_object.lock_version end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
activerecord_to_poro-0.0.2 | spec/acceptance/map_ar_objects_spec.rb |