Sha256: 53de32d52038a4aee2a12315cada563841fd14cd90964372c3389cddf506a79b
Contents?: true
Size: 1.59 KB
Versions: 2
Compression:
Stored size: 1.59 KB
Contents
require 'spec_helper' describe Csv2hash::Definition do context 'regular context' do subject do Csv2hash::Definition.new( [ { position: [0,0], key: 'name' } ], Csv2hash::Definition::MAPPING ) end it 'variable should be assigned' do subject.type.should eql Csv2hash::Definition::MAPPING subject.rules.should eql [ { position: [0,0], key: 'name' } ] end end describe '#validate!' do context 'rules failling validation' do subject do Csv2hash::Definition.new nil, 'unsuitable_type' end it 'should throw exception' do expect { subject.validate! }.to raise_error("not suitable type, please use '#{Csv2hash::Definition::MAPPING}' " \ "or '#{Csv2hash::Definition::COLLECTION}'") end end context 'rules failling validation' do subject do Csv2hash::Definition.new 'rules',Csv2hash::Definition::MAPPING end it 'should throw exception' do expect { subject.validate! }.to raise_error 'rules must be an Array of rules' end end end describe '#default!' do subject do Csv2hash::Definition.new [ { position: [0,0], key: 'name' } ], Csv2hash::Definition::MAPPING end before { subject.default! } it 'missing key must be filled' do subject.rules.should eql([{ position: [0, 0], key: 'name', message: 'undefined :key on :position', mappable: true, type: 'string', values: nil, nested: nil, allow_blank: false, extra_validator: nil }]) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
csv2hash-0.1.1 | spec/csv2hash/definition_spec.rb |
csv2hash-0.1 | spec/csv2hash/definition_spec.rb |