spec/extractor_spec.rb in oddb2xml-1.6.6 vs spec/extractor_spec.rb in oddb2xml-1.6.7

- old
+ new

@@ -61,16 +61,40 @@ describe Oddb2xml::SwissmedicInfoExtractor do context 'when transfer.dat is empty' do subject { Oddb2xml::SwissmedicInfoExtractor.new("") } it { expect(subject.to_hash).to be_empty } end - context 'can parse swissmedic_packages.xls' do + context 'can parse swissmedic_package.xlsx' do it { - filename = File.join(File.dirname(__FILE__), 'data/swissmedic_packages.xls') - bin = IO.read(filename) - @packs = Oddb2xml::SwissmedicExtractor.new(bin, :package).to_hash - expect(@packs.size).to eq(14) - } + filename = File.join(File.dirname(__FILE__), 'data/swissmedic_package.xlsx') + @packs = Oddb2xml::SwissmedicExtractor.new(filename, :package).to_hash + expect(@packs.size).to eq(14) + first = @packs.first[1] + expect(first[:atc_code]).to eq('J06AA') + expect(first[:swissmedic_category]).to eq('B') + expect(first[:package_size]).to eq('3') + expect(first[:einheit_swissmedic]).to eq('Suppositorien') + expect(first[:substance_swissmedic]).to eq('globulina equina (immunisé avec coeur, tissu pulmonaire, reins de porcins)') + expect(@packs.first[0].to_s).to eq('00274001') + } + end + context 'can parse swissmedic_fridge.xlsx' do + it { + filename = File.join(File.dirname(__FILE__), 'data/swissmedic_fridge.xlsx') + @packs = Oddb2xml::SwissmedicExtractor.new(filename, :fridge).to_arry + expect(@packs.size).to eq(17) + expect(@packs[0]).to eq("58618") + expect(@packs[1]).to eq("00696") + } + end + context 'can parse swissmedic_orphan.xls' do + it { + filename = File.join(File.dirname(__FILE__), 'data/swissmedic_orphan.xls') + @packs = Oddb2xml::SwissmedicExtractor.new(filename, :orphan).to_arry + expect(@packs.size).to eq(72) + expect(@packs.first).to eq("62132") + expect(@packs[7]).to eq("00687") + } end end describe Oddb2xml::EphaExtractor do context 'can parse epha_interactions.csv' do