Я довольно новичок в модульном тестировании, и мне интересно, как я смогу проверить, когда кто-то импортирует 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