Как написать контрольный пример Rspec для импорта CSV - PullRequest
0 голосов
/ 14 ноября 2018

Я довольно новичок в модульном тестировании, и мне интересно, как я смогу проверить, когда кто-то импортирует CSV?

class ListsController < ApplicationController

  def import
      List.import(params[:file])
      redirect_to lists_path, notice: 'CSV sucessfully imported.'
    rescue StandardError
      redirect_to lists_path, alert: 'Invalid CSV file format.'
  end

end

Модель

class List < ApplicationRecord
      def self.import(file)
        CSV.foreach(file.path, headers: true) do |row|
          list_hash = row.to_hash # exclude the price field
          list = List.where(id: list_hash['id'])
          if list.count == 1
            list.first.update_attributes(list_hash)
          else
            List.create!(list_hash)
          end # end if !list.nil?
        end # end CSV.foreach
       end # end self.import(file)
end
...