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

Rspec tests for custom rails_admin controller actions?

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

控制器检查并删除了某些损坏的记录,在我的测试中似乎运行良好。如果这是一个普通的控制器,我会为这个 controller 编写一个控制器 spec,但我不知道如何为自定义 rails_admin actions 编写 specs ] 像这样。

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

我想做一个正常的 controller spec,我在其中测试发布到端点,然后查看是否在 an object 上调用了一个方法,link 似乎没有去做。我似乎无法在网上找到任何关于将 Rspec 与自定义 rails_admin actions.

一起使用的有用帖子

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

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

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

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

多田!

这是我的设置:

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