ruby-on-rails - 如何使用rspec / rails测试AJAX请求的路由

原文 标签 ruby-on-rails ajax testing rspec routing

我在路由中有一个约束,只允许路由ajax请求。我如何用rspec测试呢?
具体来说,什么测试将显示/ schedules是可路由的,但只能从AJAX获得。

routes.rb

  class OnlyAjaxRequest
    def matches?(request)
      request.xhr?
    end
  end

  resources :schedules, :constraints => OnlyAjaxRequest.new


目前,我在测试的以下通过部分中显示了正常的GET请求不可路由,但是我想知道如何测试AJAX GET请求可路由。

spec / routing / schedules_routing_spec.rb

require 'spec_helper'

describe "GET /schedules" do
    it "returns http failure to non AJAX request" do
      {:get => '/schedules'}.should_not be_routable
  end
end

最佳答案

尝试这个
get "/schedules",format: :xhr
response.should be_ok

相关文章:

ruby-on-rails - 教程中的错误:语法错误,意外的':',期望keyword_end

jquery - 字符串 “true”和 “false”为 bool(boolean) 值

javascript - 用户可以输入正则表达式的输入形式

javascript - 如何将视频从我的网站分享到WhatsApp

testing - Gitlab +测试用例管理工具

unit-testing - 为什么模拟类这么糟糕?

ruby-on-rails - 在Carrierwave和Fog的URL中显示的Amazon访问密钥

ruby-on-rails - 如何将所有shopify过滤器添加到标准液体中

javascript - AJAX-模态弹出窗口不在生成的源中-他们是怎么做到的?

testing - 我们应该如何设置复杂的测试环境?