Sha256: f644259475e3f3f44cbec17db38702959df3540c6d82b0b570c480b0422464af
Contents?: true
Size: 1.08 KB
Versions: 1
Compression:
Stored size: 1.08 KB
Contents
RSpec.describe ROM::HTTP::Dataset::ResponseTransformers::Schemad do subject(:transformer) { ROM::HTTP::Dataset::ResponseTransformers::Schemad.new(schema) } let(:schema) do { id: ROM::Types::Form::Int, name: ROM::Types::Strict::String, active: ROM::Types::Form::Bool } end describe '#call' do let(:response) do [ { id: '1', name: 'Jill', email: 'jill@fakemail.com', active: 'true' } ] end let(:dataset) do double('ROM::HTTP::Dataset', projections: projections) end context 'with no projections' do let(:projections) { [] } it 'returns original tuples' do result = transformer.call(response, dataset) expect(result).to eql([id: 1, name: 'Jill', active: true]) end end context 'with projections' do let(:projections) { [:id, :name, :active] } it 'returns projected relation tuples' do result = transformer.call(response, dataset) expect(result).to eql([id: 1, name: 'Jill', active: true]) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rom-http-0.5.0 | spec/unit/rom/http/dataset/response_transformers/schemad_spec.rb |