Как сказать «any_instance» «should_receive» любое количество раз в RSpec
У меня есть контроллер импорта в rails, который импортирует несколько файлов 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 или есть обходной путь?