Ich habe einen Schienen-Controller, der hier definiert ist:
https://github.com/abonec/Simple-Store/blob/master/app/controllers/carts_controller.rb
Auf der Wagen Seite kann ein Benutzer die Anzahl der Einzelposten angeben, indem er verschachtelte Attribute bucht. Die Parameter sehen wie folgt aus:
{ "cart" => {
"line_items_attributes" => {
"0" => {
"quantity" => "2",
"id" => "36" } } },
"commit" => "Update Cart",
"authenticity_token" => "UdtQ+lchSKaHHkN2E1bEX00KcdGIekGjzGKgKfH05So=",
"utf8"=>"\342\234\223" }
In meiner Controller-Aktion werden diese Parameter wie folgt gespeichert:
@cart.update_attributes(params[:cart])
Aber ich weiß nicht, wie ich dieses Verhalten in einem Test überprüfen kann. @cart.attributes
erzeugt nur Modellattribute, nicht aber verschachtelte Attribute.
Wie kann ich dieses Verhalten testen? Wie simuliere ich eine Postanforderung mit verschachtelten Attributen in meinen Funktionstests?