Sha256: 528df3675c086322e592e46de5d4d4d8ac0cfcc5b19b862b0af5a841e51d2fd4
Contents?: true
Size: 1.11 KB
Versions: 1
Compression:
Stored size: 1.11 KB
Contents
# frozen_string_literal: truie describe Arstotzka::Wrapper do subject(:wrapper) { described_class.new(clazz: clazz, type: type) } let(:type) { nil } let(:clazz) { nil } describe 'yard' do describe '#wrap' do context 'when clazz is defined' do let(:clazz) { Person } let(:value) { 'john' } it 'wraps value with the clazz' do expect(wrapper.wrap(value)).to eq(Person.new(value)) end end context 'when type is defined' do let(:type) { :integer } let(:value) { %w[10 20 30] } it 'converts value to type' do expect(wrapper.wrap(value)).to eq([10, 20, 30]) end end context 'when type and class is defined' do let(:type) { :string } let(:clazz) { Request } let(:value) { { 'key' => 'value' } } let(:request) { wrapper.wrap(value) } it 'returns a wrapped object' do expect(request).to be_a(Request) end it 'casts before wrapping' do expect(request.payload).to eq('{"key"=>"value"}') end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
arstotzka-1.0.4 | spec/integration/yard/arstotzka/wrapper_spec.rb |