是否可以仅针对测试禁用ActiveAdmin授权?

时间:2019-07-10 16:13:13

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

我将为正式的测试ActiveAdmin页面添加一些请求测试。可以为这些测试禁用ActiveAdmin授权吗?

对于测试配置,我需要这样的东西:

  config.authentication_method = false
  config.current_user_method = false

1 个答案:

答案 0 :(得分:0)

以前从未这样做过,但是扩展rspec DSL可能有效

例如,将该模块放到支持文件夹中

module ActiveAdminSpecHelper 
  def without_active_admin_auth
    authentication_method =  ActiveAdmin.application.authentication_method
    current_user_method = ActiveAdmin.application.current_user_method

    yield
  ensure
    ActiveAdmin.application.authentication_method = authentication_method
    ActiveAdmin.application.current_user_method = current_user_method
  end
end

然后

RSpec.configure do |config|

  require 'support/active_admin_spec_helper'
  config.include ActiveAdminSpecHelper
end

之后,您将可以像

一样使用它
     it "does something" do
        without_active_admin_auth  do
          expect(something).to works_fine
        end
      end