[英]how do I use curl to test my Rails controller create action.. or can I use rspec?
[英]How would I turn this curl request into an RSpec test for this controller action
我使用 curl 来测试 a 以查看此控制器是否会接收传入请求,但现在我想进行 RSPEC 测试,我将如何转动此 curl 行: curl -v -H "Accept: application/json" -H "Origin: requesting.url.site" -H "Content-Type: application/json" -X POST -d '{"name":"foobar"}' http://arbitrary.site
进入 RSPEC Post 测试以进行创建?
class API::EventsController < ApplicationController
skip_before_action :verify_authenticity_token #for this example skip the authenticity_token
before_action :set_access_control_headers
def preflight
head 200
end
def set_access_control_headers
headers['Access-Control-Allow-Origin'] = '*'
headers['Access-Control-Allow-Methods'] = 'POST, GET, OPTIONS'
headers['Access-Control-Allow-Headers'] = 'Content-Type'
end
def create
registered_application = RegisteredApplication.find_by(url: request.env['HTTP_ORIGIN'])
if registered_application == nil
render json: {errors: "Unregistered application"}, status: :unprocessable_entity
else
@event = registered_application.events.new(event_params)
if @event.save
render json: @event, status: :created
else
render json: @event.errors, status: :unprocessable_entity
end
end
end
private
def event_params
params.require(:event).permit(:name)
end
end
您应该将标题附加到通常的 rspec 控制器发布操作。
已在此处回答将标头附加到 Rspec 控制器测试
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.