Sha256: 09f39b7cba01e401c536a90bf3ee3c096ddb0337a8df47f98634a750173f27fc

Contents?: true

Size: 884 Bytes

Versions: 2

Compression:

Stored size: 884 Bytes

Contents

require 'spec_helper'

require 'gorillib/model/serialization'

describe Gorillib::Model::LoadFromCsv, :model_spec => true, :builder_spec => true do

  context ".load_csv" do

    let(:expected_engine) do 
      {:name=>:Wankel, :carburetor=>:no, :volume=>1, :cylinders=>982, :owner=>"who_am_i"}
    end

    before :each do
      engine_class.class_eval { include Gorillib::Model::LoadFromCsv }
      csv_file = double('csv_file')
      csv_file.stub(:shift) {}
      csv_file.stub(:each).and_yield(expected_engine.values)
      CSV.should_receive(:open).and_yield(csv_file)
    end

    it "loads from file" do
      engine_class.load_csv('test').to_wire().first.keep_if{|k,| k != :_type}.should
        eql(expected_engine)
     end

     it "loads from file with block" do
       expect { |b| engine_class.load_csv('test', &b) }.to yield_with_args(engine_class)
     end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
gorillib-model-0.0.3 spec/model/serialization/csv_spec.rb
gorillib-model-0.0.1 spec/model/serialization/csv_spec.rb