Rspec测试自定义rails_admin控制器操作?

时间:2015-12-10 13:58:58

标签: ruby-on-rails rspec rails-admin

我将自定义操作定义为ailsAdmin::Config::Actions::Base的子类。在我定义的custom controller - register_instance_option :controller

的操作下

控制器通过并删除某些损坏的记录,似乎在我的测试中工作正常。如果这是一个普通的控制器,我会为这个spec编写一个控制器controller,但我不知道如何为自定义specs {{写rails_admin 1}}喜欢这个。

我看了actions中的spec,但它似乎对我没什么帮助:https://github.com/sferik/rails_admin/blob/master/spec/rails_admin/config/actions/base_spec.rb

我想做一个正常的rails_admin repository我测试发布到端点,然后查看是否在controller spec上调用了一个方法,该链接似乎没有。我无法在网上找到有关使用自定义an object的{​​{1}}的有用帖子。

2 个答案:

答案 0 :(得分:2)

这是我的设置:

RSpec.describe RailsAdmin::MainController, type: :controller do
 routes { RailsAdmin::Engine.routes }

 describe '#my_custom' do
   subject { get :my_custom, { model_name: 'my_model', id: my_model.id } }

   it "should respond with 302" do
     expect(response.code).to eq("302")
   end
 end
end

答案 1 :(得分:-1)

我有人帮我这个。控制器可以这样测试:

describe RailsAdmin::MainController, :type => :controller do

但我独自遇到了路由问题,即使我将Rails管理员URL帮助器添加到spec_helper.rb也是如此。诀窍是,当击中控制器时,你必须这样做:

post :custom_rails_admin_route, { :use_route  => :rails_admin }

多田!