J'ai un contrôleur d'importation dans les rails qui importe plusieurs fichiers CSV avec plusieurs enregistrements dans ma base de données. Je voudrais tester dans RSpec si les enregistrements sont réellement enregistrés en utilisant RSpec:
<Model>.any_instance.should_receive(:save).at_least(:once)
Cependant, je reçois l'erreur en disant:
The message 'save' was received by <model instance> but has already been received by <another model instance>
Un exemple artificiel du contrôleur:
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
Est-il possible de tester cela avec RSpec ou existe-t-il une solution de contournement?