У меня есть контроллер импорта в рельсах, который импортирует несколько csv файлов с несколькими записями в мою базу данных. Я бы хотел проверить в RSpec, если записи фактически сохранены с помощью RSpec:
<Model>.any_instance.should_receive(:save).at_least(:once)
Однако я получаю сообщение об ошибке:
The message 'save' was received by <model instance> but has already been received by <another model instance>
Надуманный пример контроллера:
rows = CSV.parse(uploaded_file.tempfile, col_sep: "|")
ActiveRecord::Base.transaction do
rows.each do |row|
mutation = Mutation.new
row.each_with_index do |value, index|
Mutation.send("#{attribute_order[index]}=", value)
end
mutation.save
end
Можно ли проверить это с помощью RSpec или есть ли способ обхода?