Я пытаюсь проверить многочастную/форму пост с RSpec со следующим кодом:как проверить многослойный пост с RSpec
@req = { :post => @attr }
lambda {
post :create, :POSTDATA => @req, :format => :json
}.should change(Post, :count).by(1)
, но я получаю следующее сообщение об ошибке:
undefined method `stringify_keys' for "post":String
POSTDATA это имя многочастной формы.
Каков правильный способ тестирования многопрофильных запросов?
EDIT:
Я понял, что построение запроса, как я сделал в приведенном выше просто создает запрос вложенный в формате JSON. как я могу создать запрос multipost/form?
Я хочу построить многослойный запрос, который выглядит следующим образом:
POST /api/posts.json HTTP/1.1
Accepts: application/json
X-API-KEY: 7d867d16a5e25337b6d7857965f812bee73b76ac
Content-Length: 288
Content-Type: multipart/form-data; boundary=syoYQUQsGwI2XqShQimFdv2QSe-_GYbjVx40T1kS
Host: 10.0.2.2:3000
Connection: Keep-Alive
User-Agent: Apache-HttpClient/UNAVAILABLE (java 1.4)
--syoYQUQsGwI2XqShQimFdv2QSe-_GYbjVx40T1kS
Content-Disposition: form-data; name="POSTDATA"
Content-Type: application/json; charset=UTF-8
Content-Transfer-Encoding: 8bit
{"tags":["dffdff"],"location_id":3,"post":{"content":"test #dffdff"}}
--syoYQUQsGwI2XqShQimFdv2QSe-_GYbjVx40T1kS--
посмотрите на http://stackoverflow.com/questions/7260394/test-a-file-upload-using-rspec-rails – Vik
Я, кажется, не нашел там соответствующего ответа. Я не пытаюсь проверить загрузку файла –
Вик, не могли бы вы указать мне, что я ищу по этой ссылке? –