L'environnement est Sinatra, Nokogiri, RSpec, FactoryGirl et DataMapper.RSpec & DataMapper: Comment stub la méthode finder correctement
Le problème est lié au sérialiseur de DataMapper. Je ne sais pas comment l'absorber correctement.
Le code problématique:
specify 'should return an xml array of all municipalities' do
municipalities = []
10.times { |n| municipalities << Factory.build(:municipality, :code => "Municipality no #{n}") }
Municipality.stub!(:all).and_return(municipalities)
get "/municipalities.xml"
# ^------- KABOOM!
# [.. rest of code clipped out ..]
end
Le code qui get
appels est pratiquement équivalent:
Municipality.all.to_xml
Le problème est que le type du jeu de résultats est DataMapper::Collection
qui a la méthode #to_xml
.
Mon stub ne fonctionne pas forcément car j'utilise un Array
d'instances stubbed, au lieu d'un DataMapper::Collection
.
Ma question est:
Comment dois-je créer une collection d'instances (avec factorygirl) sont de type DataMapper::Collection
et ont la méthode #to_xml
fournie par le sérialiseur DataMapper?
Le code est également disponible sur GitHub:
Ok! Merci d'avoir élargi ma vision! :) –