Я сгенерировал код cURL с помощью Postman, и это то, что он создал:
curl -X POST \
https://api.clockify.me/api/workspaces/workspace-id/timeEntries/ \
-H 'Content-Type: application/json' \
-H 'X-Api-Key: value' \
-H 'cache-control: no-cache' \
-d '{"start": "2019-16-01T10:00:00" , "billable": "false" , "description": "Clockify API post" , "end": "2019-16-01T10:30:00"}'
Я думаю, что вам не хватает -d перед JSON - я думаю, что он также может быть окружен на '' (одинарные кавычки), но я не эксперт в cURL, поэтому не могу сказать наверняка.
Разве не возможно установить тест контроллера для вывода ответа и искать некоторое форматирование JavaScript?
xhr :get, :new
response.should be_success
response.should have_text("... test for JS response ...")
Я также, вероятно, использовал бы Селен, чтобы более полно протестировать это на клиенте, и тест Контроллера является большим количеством проверки "исправности".
rspec дает Вам have_rjs помощника, который переносит assert_select_rjs. Вот некоторые специфические особенности:
http://jonathan.tron.name/2007/11/24/rspec-and-inline-rjs
К сожалению, assert_select_rjs только покрывает:
:replace, :replace_html, :show, :hide, :toggle, :remove and :insert_html
Таким образом, это не обработает visual_effect от Вашего вопроса. Однако плагин ARTS действительно поддерживает визуальные эффекты.
http://github.com/timocratic/arts/tree/master
Необходимо смочь объединить это с rspecs новым 'spec/interop/test'.
http://blog.davidchelimsky.net/2009/2/2/rspec-works-with-test-unit