Sha256: b275b379f175433ffac1db74580979502aa2ffa5f7062552520921073a0706e5
Contents?: true
Size: 731 Bytes
Versions: 3
Compression:
Stored size: 731 Bytes
Contents
require 'spec_helper' require 'ostruct' describe ROM::Mapper do subject(:mapper) { ROM::Mapper.build(ROM::Header.coerce(relation.header.zip), user_model) } let(:relation) { ROM::Relation.new(dataset, [:id, :name]) } let(:dataset) { ROM::Adapter::Memory::Dataset.new([{id: 1, name: 'Jane'}, {id: 2, name: 'Joe'}]) } let(:user_model) { Class.new(OpenStruct) { include Equalizer.new(:id, :name) } } let(:jane) { user_model.new(id: 1, name: 'Jane') } let(:joe) { user_model.new(id: 2, name: 'Joe') } describe "#each" do it "yields all mapped objects" do result = [] relation.each do |tuple| result << mapper.load(tuple) end expect(result).to eql([jane, joe]) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rom-0.4.0 | spec/unit/rom/mapper_spec.rb |
rom-0.3.1 | spec/unit/rom/mapper_spec.rb |
rom-0.3.0 | spec/unit/rom/mapper_spec.rb |