Sha256: d97817bc3e94da60a7729d1e6a5e743b3c1726cb4df794b6f2e6c671daf9a699
Contents?: true
Size: 1.13 KB
Versions: 3
Compression:
Stored size: 1.13 KB
Contents
# encoding: utf-8 require 'spec_helper' describe 'Defining relation mappings' do let!(:schema) { env.schema { base_relation :users do repository :test attribute :id, Integer attribute :user_name, String key :id end } } let!(:env) { Environment.setup(test: 'memory://test') } before do User = mock_model(:id, :name) end after do Object.send(:remove_const, :User) end specify 'building registry of automatically mapped relations' do env.mapping do users do model User map :id map :user_name, to: :name end end users = env[:users] jane = User.new(id: 1, name: 'Jane') users.insert(jane) expect(users.to_a).to eql([jane]) end specify 'providing custom mapper' do custom_model = mock_model(:id, :user_name) custom_mapper = TestMapper.new(schema[:users].header, custom_model) env.mapping { users { mapper(custom_mapper) } } users = env[:users] jane = custom_model.new(id: 1, user_name: 'Jane') users.insert(jane) expect(users.to_a).to eql([jane]) end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rom-relation-0.1.2 | spec/integration/mapping_relations_spec.rb |
rom-relation-0.1.1 | spec/integration/mapping_relations_spec.rb |
rom-relation-0.1.0 | spec/integration/mapping_relations_spec.rb |