spec/unit/virtus/attribute/collection/coerce_spec.rb in virtus-1.0.2 vs spec/unit/virtus/attribute/collection/coerce_spec.rb in virtus-1.0.3
- old
+ new
@@ -48,6 +48,27 @@
it 'coerces members' do
expect(subject).to eq(output)
end
end
end
+
+ context 'when input is nil' do
+ let(:input) { nil }
+
+ fake(:coercer) { Virtus::Attribute::Coercer }
+ fake(:member_type) { Virtus::Attribute }
+
+ let(:member_primitive) { Integer }
+
+ let(:object) {
+ described_class.build(
+ Array[member_primitive], coercer: coercer, member_type: member_type
+ )
+ }
+
+ it 'returns nil' do
+ stub(coercer).call(input) { input }
+
+ expect(subject).to be(input)
+ end
+ end
end